亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? clistctrl.cpp

?? 墨香最新私服
?? CPP
字號:
// cListCtrl.cpp: implementation of the cListCtrl class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "cListCtrl.h"
#include "cFont.h"
#include "../Input/Mouse.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
cListCtrl::cListCtrl()
{
	m_bHeadLineHeight=0;
	m_bBodyLineHeight=0;
	m_wLinePerPage = 0;
	SetRect(&m_textRelRect, 3,4,0,0);
	m_type = WT_LISTCTRL;
	m_SelectedRowIdx = -1;

	m_lTopListItemIdx = 0;

	m_OverImageScale.x = 1;
	m_OverImageScale.y = 1;
	
	m_nOverIdx = -1;
	m_fGap = 0.0f;
	m_wSelectOption = 0;
}

cListCtrl::~cListCtrl()
{

}

void cListCtrl::Init(LONG x, LONG y, WORD wid, WORD hei, cImage * basicImage, LONG ID)
{
	cWindow::Init(x,y,wid,hei,basicImage,ID);
}

void cListCtrl::InitListCtrl(WORD wMaxColumns, WORD wLinePerPage)
{
	m_wLinePerPage = wLinePerPage;
}

void cListCtrl::InitListCtrlImage(cImage * HeadImage, BYTE HHeight, cImage * BodyImage, BYTE BHeight, cImage * OverImage )
{
	m_HeadImage=*HeadImage;
	m_BodyImage=*BodyImage;
	m_bHeadLineHeight=HHeight;
	m_bBodyLineHeight=BHeight;
	m_OverImage = *OverImage;

	if( m_bBodyLineHeight > 10)
		m_fGap = ((float)m_bBodyLineHeight-10.0f)/2.0f;
}
void cListCtrl::Render()
{
	VECTOR2 m_tmpPos = m_absPos;
	m_HeadImage.RenderSprite(NULL,NULL,0,&m_tmpPos,RGBA_MERGE(m_dwImageRGB, m_alpha * m_dwOptionAlpha / 100));
	m_tmpPos.y += m_bHeadLineHeight;

	for(int k = 0 ; k < m_wLinePerPage ; k++)
	{
		m_BodyImage.RenderSprite(NULL,NULL,0,&m_tmpPos,RGBA_MERGE(m_dwImageRGB, m_alpha * m_dwOptionAlpha / 100));
		m_tmpPos.y += m_bBodyLineHeight;
	}

	if( m_wSelectOption == 0 )
	{
		// Over Image Display 
		if( m_nOverIdx != -1 )
		{
			m_tmpPos.x = m_absPos.x;
			m_tmpPos.y = m_absPos.y + m_textRelRect.top + m_bHeadLineHeight + (((float)m_nOverIdx)*m_bBodyLineHeight ) - m_fGap;
			m_OverImage.RenderSprite(&m_OverImageScale,NULL,0,&m_tmpPos,RGBA_MERGE(m_dwImageRGB, m_alpha * m_dwOptionAlpha / 100));
		}
	}
	else if( m_wSelectOption == 1 )
	{
		if( m_nOverIdx != 0 )
		{
			m_tmpPos.x = m_absPos.x;
			m_tmpPos.y = m_absPos.y + m_textRelRect.top + m_bHeadLineHeight + (((float)m_SelectedRowIdx)*m_bBodyLineHeight ) - m_fGap;
			m_OverImage.RenderSprite(&m_OverImageScale,NULL,0,&m_tmpPos,RGBA_MERGE(m_dwImageRGB, m_alpha * m_dwOptionAlpha / 100));
		}
	}

	// HEAD TEXT DISPLAY //////////////////////////////////////////////////////////////
	RECT headRect = {(LONG)m_absPos.x+m_textRelRect.left, (LONG)m_absPos.y+m_textRelRect.top,0,0};
	for(int l = 0 ; l < m_Cols ; l++)
	{
		headRect.right = headRect.left + 1;
		headRect.bottom = headRect.top + 1;
		CFONT_OBJ->RenderFont(m_wFontIdx,pszColumnHeader[l],lstrlen(pszColumnHeader[l]),&headRect,RGBA_MERGE(pColumnTextColor[l], m_alpha * m_dwOptionAlpha / 100));		
		headRect.left += pColumnSize[l];
	}
	
	// BODY TEXT DISPLAY //////////////////////////////////////////////////////////////
	POS pos = m_pItemList->GetIndexPos(m_lTopListItemIdx);
	RITEM * ritem = NULL;
	LONG i = 0;
	while (pos)
    {
        ritem = m_pItemList->GetNextPos(pos);
		if(i < m_wLinePerPage)
		{
			RECT rect={(LONG)m_absPos.x+m_textRelRect.left, (LONG)m_absPos.y+m_bHeadLineHeight+m_textRelRect.top+(m_bBodyLineHeight*i), 0,0};
			for(int j = 0 ; j < m_Cols ; j++)
			{
				CFONT_OBJ->RenderFont(m_wFontIdx,ritem->pString[j],lstrlen(ritem->pString[j]),&rect,RGBA_MERGE(ritem->rgb[j], m_alpha * m_dwOptionAlpha / 100));
				//pGeometry->RenderFont(CFONT_OBJ->GetFont(m_wFontIdx),ritem->pString[j],lstrlen(ritem->pString[j]),&rect,RGBA_MERGE(ritem->rgb[j], m_alpha),CHAR_CODE_TYPE_ASCII,0,0);
				rect.left += pColumnSize[j];
			}
			i++;
		}
		else
			break;
	}
	////////////////////////////////////////////////////////////////////////////////////

	cWindow::Render();
}

DWORD cListCtrl::ActionEvent(CMouse * mouseInfo)
{
//KES INTERFACE 031009
	DWORD we = WE_NULL;
	if( !m_bActive ) return we;

	LONG x = mouseInfo->GetMouseX();
	LONG y = mouseInfo->GetMouseY();

//	BOOL LeftUp = mouseInfo->LButtonUp();
	BOOL LeftDown = mouseInfo->LButtonDown();

	we = cWindow::ActionEvent(mouseInfo);

//	if( !WINDOWMGR->IsMouseOverUsed() )
	if( we & WE_MOUSEOVER )
	{
		m_nOverIdx = PtIdxInRow(x, y);
		if( m_nOverIdx > m_wLinePerPage || m_pItemList->GetCount() <= m_nOverIdx )
			m_nOverIdx = -1;
	}
	else
	{
		m_nOverIdx = -1;
	}

//	if( !WINDOWMGR->IsMouseDownUsed() )
	if( we & WE_LBTNCLICK )
	{
		LONG x = mouseInfo->GetMouseEventX();
		LONG y = mouseInfo->GetMouseEventY();

		int selIdx = PtIdxInRow(x, y);
		if(selIdx < m_wLinePerPage)
		{
			//RITEM * ritem = m_pItemList->GetAt(selIdx);
			//m_SelectedRowIdx = ritem->dwData[0];
			m_SelectedRowIdx = selIdx;
			cbWindowFunc(m_ID, m_pParent, WE_ROWCLICK);	//PPP
			we |= WE_ROWCLICK;
		}
		else
		{
			m_SelectedRowIdx = 0;
		}
	}
	else if( we & WE_LBTNDBLCLICK )
	{
		LONG x = mouseInfo->GetMouseEventX();
		LONG y = mouseInfo->GetMouseEventY();

		int selIdx = PtIdxInRow(x, y);
		if(selIdx < m_wLinePerPage)
		{
			//RITEM * ritem = m_pItemList->GetAt(selIdx);
			//m_SelectedRowIdx = ritem->dwData[0];
			m_SelectedRowIdx = selIdx;
			cbWindowFunc(m_ID, m_pParent, WE_ROWDBLCLICK);	//PPP
			we |= WE_ROWDBLCLICK;
		}
		else
		{
			m_SelectedRowIdx = 0;
		}
	}

	return we;
}

void cListCtrl::SetMargin(const RECT * textRelRect)
{
	CopyRect(&m_textRelRect, textRelRect);
}

WORD cListCtrl::PtIdxInRow(LONG x, LONG y)
{
	for(int i = 0 ; i < m_wLinePerPage ; i++)
	{
		if( m_absPos.x < x 
			&& m_absPos.y+m_bHeadLineHeight < y 
			&& x < m_absPos.x+m_width 
			&& y < m_absPos.y+m_bHeadLineHeight+(i+1)*m_bBodyLineHeight)
			return i;
	}

	return m_wLinePerPage+1;
}
/*
void cListCtrl::ListMouseCheck( LONG x, LONG y, DWORD we )
{
	int selIdx = PtIdxInRow(x, y);

	if(selIdx < m_wLinePerPage)
	{
		if(LeftUp)
		{
			//RITEM * ritem = m_pItemList->GetAt(selIdx);
			//m_SelectedRowIdx = ritem->dwData[0];
			m_SelectedRowIdx = selIdx;
			cbWindowFunc(m_ID, m_pParent, WE_ROWCLICK);	//PPP
			we |= WE_ROWCLICK;
		}
	}
}
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品资源网| 91在线播放网址| 国产精品久线在线观看| 91丨porny丨国产| 亚洲图片自拍偷拍| 777欧美精品| 国内成+人亚洲+欧美+综合在线| 久久久不卡影院| av在线综合网| 五月激情综合网| 久久综合久久久久88| 国产激情视频一区二区三区欧美| 国产精品高潮久久久久无| 一本大道久久a久久综合| 午夜国产精品一区| 久久亚区不卡日本| 99精品1区2区| 免播放器亚洲一区| 欧美激情一区在线| 欧美午夜寂寞影院| 狠狠久久亚洲欧美| 亚洲精品欧美综合四区| 欧美一区二区在线不卡| 成人午夜在线视频| 图片区日韩欧美亚洲| 久久久噜噜噜久久中文字幕色伊伊| 99精品视频在线观看| 丝瓜av网站精品一区二区 | 国产精品入口麻豆九色| 色婷婷亚洲综合| 久久精品久久综合| 成人欧美一区二区三区在线播放| 777亚洲妇女| 成人avav在线| 免费观看30秒视频久久| 最新国产成人在线观看| 欧美xxxxx牲另类人与| 91视视频在线观看入口直接观看www| 日韩高清在线观看| 国产精品午夜春色av| 欧美久久久一区| 99久久综合国产精品| 久久精品国产**网站演员| 最新热久久免费视频| 日韩久久久久久| 欧美午夜宅男影院| 高清av一区二区| 日韩精品五月天| 亚洲视频资源在线| 久久综合色天天久久综合图片| 欧美调教femdomvk| 成人福利视频在线| 久久狠狠亚洲综合| 亚洲成在线观看| 亚洲欧洲成人自拍| 精品国产a毛片| 欧美日韩精品一区二区| 99久久精品免费看| 国产一区二区三区精品视频| 午夜亚洲国产au精品一区二区| 国产精品久久久久影院老司| 日韩精品影音先锋| 欧美日韩在线不卡| 91麻豆免费观看| 盗摄精品av一区二区三区| 青青草国产成人av片免费| 亚洲自拍另类综合| 亚洲色图欧美在线| 国产三级精品三级| 精品国产一二三区| 91精品国产综合久久久蜜臀图片| 日本韩国一区二区三区| av资源网一区| 岛国一区二区三区| 国产一区二区三区在线观看免费视频 | 国产精品传媒入口麻豆| 2020国产精品| 日韩一级免费一区| 欧美三级电影在线观看| 99在线视频精品| 高清不卡一二三区| 国产精品一区三区| 久久99精品久久久久久| 毛片一区二区三区| 日精品一区二区| 偷拍一区二区三区| 亚洲伊人伊色伊影伊综合网| 综合激情成人伊人| 国产精品第四页| 国产精品久久久99| 国产精品免费aⅴ片在线观看| 久久午夜电影网| 亚洲精品一区二区三区四区高清 | 亚洲一二三区在线观看| 日韩理论片一区二区| 1024成人网| 中文字幕一区二区三区四区| 欧美激情资源网| 国产女人18毛片水真多成人如厕| 久久女同性恋中文字幕| 久久久三级国产网站| 国产亚洲一二三区| 国产日韩亚洲欧美综合| 国产清纯美女被跳蛋高潮一区二区久久w | 91福利资源站| 91官网在线免费观看| 欧美亚洲一区三区| 欧美日韩国产bt| 欧美电影在线免费观看| 欧美日韩成人综合在线一区二区| 3d成人h动漫网站入口| 91精品免费在线| 日韩免费视频一区| 337p日本欧洲亚洲大胆色噜噜| 2022国产精品视频| 中文成人av在线| 亚洲私人影院在线观看| 亚洲乱码国产乱码精品精的特点 | 国产精品一区三区| 成人毛片在线观看| 色一情一乱一乱一91av| 欧美午夜一区二区| 91精品国产手机| 精品处破学生在线二十三| 久久嫩草精品久久久精品一| 中文一区一区三区高中清不卡| 国产精品天美传媒| 亚洲另类在线一区| 爽好多水快深点欧美视频| 奇米精品一区二区三区在线观看| 国产在线视视频有精品| 成人免费毛片片v| 色菇凉天天综合网| 91麻豆精品国产91久久久更新时间 | 国产欧美日韩不卡免费| 亚洲欧美日韩中文字幕一区二区三区| 亚洲精品自拍动漫在线| 香蕉成人啪国产精品视频综合网| 免费精品视频在线| 福利电影一区二区| 91福利资源站| 日韩欧美色综合网站| 国产欧美日本一区二区三区| 洋洋av久久久久久久一区| 日韩avvvv在线播放| 国产成人在线观看| 91福利精品视频| 欧美电影免费观看高清完整版在线 | 国产精品久久久久久亚洲伦| 亚洲一区二区三区在线看| 麻豆久久久久久| 成人18视频日本| 欧美日韩高清影院| 26uuu国产日韩综合| 亚洲欧美偷拍三级| 久久99精品国产.久久久久| 成人精品视频一区二区三区 | 国产精品一二一区| 色94色欧美sute亚洲线路一ni| 91精品国产综合久久小美女| 久久精子c满五个校花| 一区二区三区高清在线| 久久精品av麻豆的观看方式| 91免费版在线看| 日韩欧美一二三| 亚洲美女视频在线| 国产在线视频一区二区| 在线亚洲+欧美+日本专区| 欧美精品一区二区三区高清aⅴ | 国产精品综合网| 欧洲av一区二区嗯嗯嗯啊| 精品欧美黑人一区二区三区| 综合婷婷亚洲小说| 九色porny丨国产精品| 91视频观看视频| 精品国产一区二区三区四区四 | caoporm超碰国产精品| 91精品国产欧美一区二区成人 | 亚洲一区在线视频| 懂色av一区二区三区免费看| 欧美精品一卡两卡| 一区二区中文字幕在线| 伦理电影国产精品| 欧美性极品少妇| 国产精品免费观看视频| 久久精品理论片| 欧美日韩精品三区| ...中文天堂在线一区| 精品影视av免费| 欧美日韩综合一区| 一区在线观看视频| 国产成人在线影院| 精品久久一区二区三区| 午夜精品免费在线观看| a在线欧美一区| 国产日韩精品一区| 久久国产尿小便嘘嘘尿| 7777精品伊人久久久大香线蕉经典版下载| 中文字幕一区二区三区蜜月| 国产麻豆91精品|