91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

一個自繪的CListCtrlEx列表控件類,可以支持: (1)設置奇數行背景顏色(默認白色) (2)設置偶數行背景顏色(默認白色) (3)設置熱點行背景顏色(默認白色) (4)設置選中行背景顏色(默認藍色) (5)設置奇數行文本顏色(默認黑色) (6)設置偶數行文本顏色(默認黑色) (7)設置熱點行文本顏色(默認黑色) (8)設置選中行文本顏色(默認黑色) (9)點擊列表頭,對列表內的數據進行升序/降序排列 (10)雙緩沖,解決了閃爍的問題

資源截圖

代碼片段和文件信息

//?ListCtrlEx.cpp?:?實現文件
//

#include?“stdafx.h“
#include?“ListCtrlEx.h“


//?CListCtrlEx
IMPLEMENT_DYNAMIC(CListCtrlEx?CListCtrl)

/**
?*?構造函數
?*/
CListCtrlEx::CListCtrlEx()
{
m_hoverIndex = -1; //?當前熱點項目索引
m_mouseTrack = true; //?追蹤鼠標移動事件
m_if_hotLine = false; //?默認不開啟熱點行更換顏色
m_oddItemBkColor = 0xFFFFFF; //?奇數行背景顏色(默認白色)
m_evenItemBkColor = 0xFFFFFF; //?偶數行背景顏色(默認白色)
m_hoverItemBkColor = 0xFFFFFF; //?熱點行背景顏色(默認白色)
m_selectItemBkColor = GetSysColor(COLOR_HIGHLIGHT); //?選中行背景顏色(默認藍色)
m_oddItemTextColor = GetSysColor(COLOR_BTNTEXT); //?奇數行文本顏色(默認黑色)
m_evenItemTextColor = GetSysColor(COLOR_BTNTEXT); //?偶數行文本顏色(默認黑色)
m_hoverItemTextColor = GetSysColor(COLOR_BTNTEXT); //?熱點行文本顏色(默認黑色)
m_selectItemTextColor = GetSysColor(COLOR_BTNTEXT); //?選中行文本顏色(默認黑色)
}


/**
?*?析構函數
?*/
CListCtrlEx::~CListCtrlEx()
{
}


BEGIN_MESSAGE_MAP(CListCtrlEx?CListCtrl)
ON_NOTIFY_REFLECT(NM_CUSTOMDRAW?&CListCtrlEx::OnNMCustomdraw)
ON_WM_MOUSEMOVE()
ON_WM_MOUSELEAVE()
ON_WM_ERASEBKGND()
ON_WM_PAINT()
ON_NOTIFY_REFLECT(LVN_COLUMNCLICK?&CListCtrlEx::OnLvnColumnclick)
END_MESSAGE_MAP()


/**
?*?排序回調函數
?*/
static?int?CALLBACK?SortFunction(LPARAM?lParam1?LPARAM?lParam2?LPARAM?lParamSort)
{
CString?&lp1?=?*((CString?*)lParam1);
CString?&lp2?=?*((CString?*)lParam2);
int?&sort?=?*(int?*)lParamSort;

if?(sort?==?0)
return?lp1.CompareNoCase(lp2);
else
return?lp2.CompareNoCase(lp1);
}


/**
?*?鼠標在控件區域上移動時
?*/
void?CListCtrlEx::onmousemove(UINT?nFlags?CPoint?point)
{
if(m_if_hotLine?==?true)?{
//?獲取鼠標當前在哪一行上
int newIndex; //?當前鼠標的一行
int oldIndex; //?記錄原來的一行(也就是離開前的那一行)

newIndex?=?HitTest(point);
if(newIndex?!=?m_hoverIndex)?{
CRect?rc;
oldIndex?=?m_hoverIndex;
m_hoverIndex?=?newIndex;

//?刷新離開后的那一塊區域
if(oldIndex?!=?-1)?{
GetItemRect(oldIndex?&rc?LVIR_BOUNDS);
InvalidateRect(&rc);
}
//?刷新來到新的一塊的區域
if(m_hoverIndex?!=?-1)?{
GetItemRect(m_hoverIndex?&rc?LVIR_BOUNDS);
InvalidateRect(&rc);
}
}

//?鼠標要追蹤WM_MOUSELEAVE事件
if?(m_mouseTrack)?{
TRACKMOUSEEVENT?csTME;
csTME.cbSize?=?sizeof(csTME);
csTME.dwFlags?=?TME_LEAVE; //?指定要追蹤的事件
csTME.hwndTrack?=?m_hWnd; //?指定要追蹤的窗口?
::_TrackMouseEvent(&csTME); //?開啟Windows的WM_MOUSELEAVE事件支持
m_mouseTrack?=?false; //?若已經追蹤,則停止追蹤?
}
}

CListCtrl::onmousemove(nFlags?point);
}


/**
?*?鼠標離開控件區域時
?*/
void?CListCtrlEx::onmouseleave()
{
if(m_if_hotLine?==?true)?{
//?開始追蹤
m_mouseTrack?=?true;

if(m_hoverIndex?!=?-1)?{
CRect?rc;
GetItemRect(m_hoverIndex&rcLVIR_BOUNDS);
InvalidateRect(&rc);
m_hoverIndex?=?-1;
m_mouseTrack?=?true;
}
}

CListCtrl::onmouseleave();
}


/**
?*?擦除背景
?*/
BOOL?CListCtrlEx::OnEraseBkgnd(CDC*?pDC)
{
return?FALSE;
}


/**
?*?繪畫
?*/
void?CListCtrlEx::OnPaint()
{
CPai

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????7673??2014-05-03?20:20??ListCtrlEx\ListCtrlEx.cpp

?????文件???????1449??2014-05-03?14:04??ListCtrlEx\ListCtrlEx.h

?????目錄??????????0??2014-05-03?20:34??ListCtrlEx

-----------?---------??----------?-----??----

?????????????????9122????????????????????3


評論

共有 條評論