怎样使得ListView的不同行的颜色不同,或者不同列的颜色不同。在MFC中,例子比较多,但是SDK下,很少有完整的例子。
这里给出个例子,我试了挺长时间,呵呵,才开始Windows开发学习,见笑了。
碰到的困难有两个,一个是,处理完NM_CUSTOMDRAW消息后,怎样提供返回值的问题(通过SetWindowLong)。再有一个是,设置了返回值后,对话框的窗口处理函数要返回1。
#include "stdafx.h"
#include "DlgListVw.h"
typedef struct tagProxyInfo
{
char ip[20];
char port[10];
char desc[20];
} PROXYINFO, *PPROXYINFO;
PROXYINFO Proxys[] = {
{"198.26.118.46", "80", _T("美国 未知地址")},
{"198.26.118.57", "8080", _T("美国 未知地址")},
{"198.26.120.228", "80", _T("美国 未知地址")},
{"66.201.48.36", "80", _T("美国 加利福尼亚州")},
{"202.175.26.149", "80", _T("澳门 特别行政区")},
{"168.143.113.13", "8080", _T("美国 Englewood")},
{"24.252.80.76", "8000", _T("美国 Cox通信公司")},
{"210.178.220.65", "8080", _T("韩国 汉城")},
{"206.207.248.173", "80", _T("美国 WestNet")},
{"12.129.196.86", "234", _T("美国 ATT用户")}
};
#define PROXY_COUNT (sizeof(Proxys) / sizeof(Proxys[0]))
BOOL InsertListViewItems(HWND hwndListView)
{
//set the number of items in the list
ListView_SetItemCount(hwndListView, PROXY_COUNT);
LVITEM lvi;
lvi.mask = LVIF_TEXT | LVIF_PARAM | LVIF_ST