VC CListCtrl¿Ø¼þµÄʹÓ÷½·¨
ÔÚ VCÖÐʹÓÿؼþÒ»Ö±ÊǼþÈÃÎÒÍ·Í´µÄʼþ£¬´Ó¿Ø¼þµÄ´´½¨µ½¿Ø¼þµÄ²Ù×÷¹ÜÀí£¬¶¼µÃдһ´ó¶Ñ´úÂ룬Ïà±ÈÓÚDelphi/VB£¬ÊµÔÚÊÇÂé·³¶àÁË¡£ÆäʵÔÚ֮ǰѧϰ SDKµÄʱºò£¬¾ÍÓÐÏë¹ýרÃÅ»¨µã¶ùʱ¼äÀ´Ñ§Ï°VCÖпؼþµÄʹÓ㬵«Ò»Ö±Ã»¿Õ¡£×î½ü×¼±¸Ð´Ò»¸öС¹¤¾ß£¬ÒªÓõ½ListCtrl¿Ø¼þ£¬ËùÒÔÓÖ²»µÃ²»ºÃºÃµÄ¶ñ²¹Ò»·¡£ ÎÒÊÇÔÚMFCµÄ¶Ô»°¿òģʽÏÂʹÓÃCListCtrl¿Ø¼þµÄ£¬Æäʵ²»¹ÜÔÚSDK»òÎĵµ/ÊÓͼģʽÏ£¬VC¿Ø¼þµÄʹÓö¼²î²»¶à£¬ÏÂÃæÀ´ºÃºÃµÄддCListCtrl¿Ø¼þµÄʹÓñʼǡ£ Ò»¡¢CListCtrl¿Ø¼þµÄ´´½¨
ÓÉÓÚÎÒÊÇÔÚMFCµÄ¶Ô»°¿òģʽÏÂʹÓÃCListCtrl¿Ø¼þµÄ£¬ËùÒÔÖ»ÐèÒªÔڿؼþÀ¸ÉÏÑ¡ÔñCListCtrlµÄͼÐΰ´Å¥£¬½Ó×ÅÌí¼Óµ½¶Ô»°¿òÖоÍÐÐÁË¡£ ¶þ¡¢CListCtrl¿Ø¼þÑùʽµÄÉèÖÃ
µÚÒ»²½£ºÔÚʹÓÃCListCtrl¿Ø¼þ֮ǰ£¬Ê×ÏÈÐèҪΪ¸Ã¿Ø¼þ¹ØÁªÒ»¸ö±äÁ¿£¨Ö»Õë¶ÔÓÚ¶Ô»°¿òģʽ£©£º CListCtrl m_BlogAccountList;
µÚ¶þ²½£ºÓÉÓÚCListCtrl¿Ø¼þÒª×öһЩ³õʼ»¯²Ù×÷£¬±ÈÈçÉèÖÿؼþÑùʽ£¬ÉèÖÿؼþµÄÐÐÁв¢ÌîÈëһЩÊý¾Ý¡£³õʼ»¯²Ù×÷µÄ´úÂëÊÇÔÚ¶Ô»°¿òµÄOnInitDialogʼþÖÐдÈëµÄ¡£
ĬÈÏÇé¿öÏ£¬CListCtrl¿Ø¼þµÄÑùʽÊǷdz£¼òªµÄ£¬´ó¶àÇé¿öÏÂÎÒÃǶ¼ÐèÒª¶ÔCListCtrl¿Ø¼þµÄÑùʽ½øÐÐÐ޸쬱ÈÈçÉèÖÃΪ±¨±íÑùʽ£¬¿ÉÒÔ½øÐÐÕûÐÐÑ¡ÔñµÈ£¬ÈçÓÐÐèÒª»¹Óе÷ÕûCListCtrl¿Ø¼þµÄÐиߡ£ÖîÈçÕâЩÉèÖö¼ÐèÒªÓõ½CListCtrl¿Ø¼þµÄÀ©Õ¹Ñùʽ£¬ËùÒÔÊ×ÏȵÃÁ˽âÕâЩÀ©Õ¹Ñùʽ¡£
ÎÒÔÚMSDNÖÐûÓÐÕÒµ½CListCtrl¿Ø¼þµÄÀ©Õ¹Ñùʽ×ÊÁÏ£¬Ö»ºÃÉϰٶȰٿÆÕÒÁËÕÒ¡£
CListCtrl¿Ø¼þµÄÀ©Õ¹Ñùʽ
LVS_EX_GRIDLINES //»æÖƱí¸ñÏß
LVS_EX_SUBITEMIMAGES//×ÓÏîĿͼ±êÁбí LVS_EX_CHECKBOXES //´ø¸´Ñ¡¿ò LVS_EX_TRACKSELECT //×Ô¶¯»»ÐÐ
LVS_EX_HEADERDRAGDROP//±¨±íÍ·¿ÉÒÔÍÏ×§ LVS_EX_FULLROWSELECT //Ñ¡ÔñÕûÐÐ LVS_EX_ONECLICKACTIVATE//µ¥»÷¼¤»î LVS_EX_TWOCLICKACTIVATE//Ë«»÷¼¤»î LVS_EX_FLATSB//±âƽ¹ö¶¯Ìõ LVS_EX_REGIONAL LVS_EX_INFOTIP LVS_EX_UNDERLINEHOT LVS_EX_UNDERLINECOLD
LVS_EX_MULTIWORKAREAS//¶à¹¤×÷Çø
¶Ô»°¿òģʽÏ´´½¨µÄCListCtrl¿Ø¼þÑùʽֻÓÐÒ»¸ö£¬¾ÍÊÇWS_BORDER£¬¶øÎÒÐèҪΪCListCtrlÉèÖÃΪ±¨±íÑùʽ£¬²¢ÄÜÑ¡ÔñÕûÐУ¬ÏÂÃæ¾Í¿ÉÒÔ¿ªÊ¼Ð´´úÂëÁË //ͨ¹ýGetWindowLongÀ´»ñÈ¡CListCtrlÒÑÓеÄÑùʽ
DWORD dwStyle = GetWindowLong(m_BlogAccountList.m_hWnd, GWL_STYLE); //ÔÚÔÓÐÑùʽµÄ»ù±¾ÉÏ£¬Ìí¼ÓLVS_REPORTÀ©Õ¹Ñùʽ
SetWindowLong(m_BlogAccountList.m_hWnd, GWL_STYLE, dwStyle|LVS_REPORT); //»ñÈ¡ÒÑÓеÄÀ©Õ¹Ñùʽ
DWORD dwStyles = m_BlogAccountList.GetExStyle();
//È¡Ïû¸´Ñ¡¿òÑùʽ
dwStyles &= ~LVS_EX_CHECKBOXES; //Ìí¼ÓÕûÐÐÑ¡ÔñºÍ±í¸ñÏßÀ©Õ¹Ñùʽ
m_BlogAccountList.SetExtendedStyle(dwStyles|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
ͨ¹ýÒÔÉÏËľä´úÂ룬¾ÍÒѾÄÜÂú×ãÎÒµÄÐèÇóÁË Èý¡¢ÎªCListCtrl¿Ø¼þÌí¼ÓÁÐ
ÁеÄÌí¼ÓÖ»ÐèÒªÓõ½LVCOLUMN½á¹¹Ì壬ËùÒÔÐèÒªÏÈÐÐÁ˽âÁ˽⡣ÔÚMSDNÖв鵽µÄLVCOLUMN½á¹¹ÌåµÄ¶¨ÒåÈçÏ£º typedef struct _LVCOLUMN { UINT mask; int fmt; int cx;
LPTSTR pszText; int cchTextMax; int iSubItem;
#if (_WIN32_IE >= 0x0300) int iImage; int iOrder; #endif
} LVCOLUMN, FAR *LPLVCOLUMN;
¸Ã½á¹¹Ìå¹²ÓÐ8¸ö³ÉÔ±¡£
maskÊÇÓÃÀ´ÉèÖÃLVCOLUMN½á¹¹ÌåÖÐÄÄЩ³ÉÔ±ÓÐЧ£¬ÆäÖµ¿ÉÒÔΪ0¡£mask¿ÉÉèÖõÄÖµÈçÏ£º
LVCF_FMT fmt³ÉÔ±ÓÐЧ LVCF_IMAGE iImage³ÉÔ±ÓÐЧ LVCF_ORDER //ÒÔÏÂÂÔ LVCF_SUBITEM LVCF_TEXT LVCF_WIDTH
fmt³ÉÔ±ÊǶÔCListCtrl¿Ø¼þÁбêÌâ½øÐÐÉèÖ㬱ÈÈçÁбêÌâÖÐÎÄ×ÖµÄ¶ÔÆë·½Ê½£¬ÊÇ·ñÔÚÁбêÌâÖÐÏÔʾͼ±êµÈ¡£
cx³ÉÔ±ÊÇÉèÖÃÁÐ¿í¡£
pszText³ÉÔ±ÊÇÉèÖÃÁбêÌâÎÄ×Ö
cchTextMax³ÉÔ±ÊÇÉèÖñêÌâÎÄ×ֵĻº³åÇø´óС iSubItem³ÉÔ±ÊÇÉèÖÃÁÐË÷Òý
iImage³ÉÔ±ÊÇÉèÖÃImageListÖеÄͼÏñË÷Òý¡£
iOrder³ÉÔ±µÄ×÷ÓÃδ֪¡£
ÏÂÃæ½øÐÐÌí¼ÓÁвÙ×÷£º
char *szColUmn[] = {\ÕʺÅ\ÃÜÂë\int nColWidth[] = {100, 100}; LVCOLUMN lvc;
lvc.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH | LVCF_ORDER; lvc.fmt = LVCFMT_LEFT; //×ó¶ÔÆë for (int i = 0; i < 2; i++) {
lvc.pszText = szColUmn[i]; lvc.iSubItem = i; lvc.iOrder = i; lvc.cx = nColWidth[i];
m_BlogAccountList.InsertColumn(i, &lvc); }
ËÄ¡¢ÎªCListCtrl¿Ø¼þÌí¼ÓÐÐ
Ìí¼ÓÐеIJÙ×÷ÐèÒªÓõ½InsertItemºÍSetItemTextÊôÐÔ£¬Õâ¸ö¼òµ¥£¬¾Í²»ÏêÊöÁË£¬¿´´úÂë m_BlogAccountList.InsertItem(0, \ m_BlogAccountList.SetItemText(0, 1, \m_BlogAccountList.SetItemText(1, 1, \
Ïà¹ØÍÆ¼ö£º