看看平台SDK文档中的VListVw: Virtual ListView Control Sample
我试了一下,但是只能显示文字 图标显示不出来//listview HIMAGELIST himlTurn;//1,himlTurn2,himlTurn3,himlTurn4; //set the image lists himlTurn = ImageList_Create(32, 32, ILC_COLORDDB | ILC_MASK, 0, 4); if (himlTurn)// && himlTurn2 && himlTurn3 && himlTurn4) { HICON hIcon; //set up the image list hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_DIR)); ImageList_AddIcon(himlTurn, hIcon); hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_LEFT)); ImageList_AddIcon(himlTurn, hIcon); hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_RIGHT)); ImageList_AddIcon(himlTurn, hIcon); hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_END)); ImageList_AddIcon(himlTurn, hIcon); ListView_SetImageList(hCtl, himlTurn, LVSIL_NORMAL); // MessageBox(0,_T("init1"),_T("ll"),MB_OK); } hCtl=GetDlgItem(hDlg, IDC_LIST_TURN); if(hCtl!=NULL) { // Here we put the info on the Coulom headers // this is not data, only name of each header we like memset(&lvColumn,0,sizeof(lvColumn)); // Reset Coluom lvColumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM; // Type of mask lvColumn.cx=0x28; // width between each coloum lvColumn.pszText=_T("Way"); // First Header lvColumn.cx=0xd2; // Inserting Couloms as much as we want ListView_InsertColumn(hCtl,0,&lvColumn); // SendMessage(hCtl,LVM_INSERTCOLUMN,0,(LPARAM)&lvColumn); // Insert/Show the coloum
// Setting properties Of Items: lvItem.mask=LVIF_TEXT | LVIF_IMAGE; // Text Style lvItem.cchTextMax = 256; // Max size of test
lvItem.iItem=0; // choose item lvItem.iImage = 0; lvItem.pszText=_T("fff"); // Text to display (can be from a char variable) (Items) ListView_InsertItem(hCtl, &lvItem);
上面的代码太乱了,改了一下 himlTurn = ImageList_Create(32, 32, ILC_COLORDDB | ILC_MASK, 4, 0); if (himlTurn) { HICON hIcon; //set up the image list hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_DIR)); ImageList_AddIcon(himlTurn, hIcon); hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_LEFT)); ImageList_AddIcon(himlTurn, hIcon); hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_RIGHT)); ImageList_AddIcon(himlTurn, hIcon); hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_END)); ImageList_AddIcon(himlTurn, hIcon); ListView_SetImageList(hCtl, himlTurn, LVSIL_NORMAL); } hCtl=GetDlgItem(hDlg, IDC_LIST_TURN); if(hCtl!=NULL) { memset(&lvColumn,0,sizeof(lvColumn)); lvColumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM; lvColumn.cx=0x28; lvColumn.pszText=_T("Way"); lvColumn.cx=0xd2; // Inserting Couloms as much as we want ListView_InsertColumn(hCtl,0,&lvColumn); // Setting properties Of Items: lvItem.mask=LVIF_TEXT | LVIF_IMAGE; lvItem.cchTextMax = 256; lvItem.iItem=0; lvItem.iImage = 0; lvItem.pszText=_T("fff");
跟进去看看发了什么消息就知道了
listview_开头的API
图标显示不出来//listview
HIMAGELIST himlTurn;//1,himlTurn2,himlTurn3,himlTurn4;
//set the image lists
himlTurn = ImageList_Create(32, 32, ILC_COLORDDB | ILC_MASK, 0, 4);
if (himlTurn)// && himlTurn2 && himlTurn3 && himlTurn4)
{
HICON hIcon;
//set up the image list
hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_DIR));
ImageList_AddIcon(himlTurn, hIcon);
hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_LEFT));
ImageList_AddIcon(himlTurn, hIcon);
hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_RIGHT));
ImageList_AddIcon(himlTurn, hIcon);
hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_END));
ImageList_AddIcon(himlTurn, hIcon); ListView_SetImageList(hCtl, himlTurn, LVSIL_NORMAL);
// MessageBox(0,_T("init1"),_T("ll"),MB_OK);
} hCtl=GetDlgItem(hDlg, IDC_LIST_TURN);
if(hCtl!=NULL)
{
// Here we put the info on the Coulom headers
// this is not data, only name of each header we like
memset(&lvColumn,0,sizeof(lvColumn)); // Reset Coluom
lvColumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM; // Type of mask
lvColumn.cx=0x28; // width between each coloum
lvColumn.pszText=_T("Way"); // First Header
lvColumn.cx=0xd2; // Inserting Couloms as much as we want
ListView_InsertColumn(hCtl,0,&lvColumn);
// SendMessage(hCtl,LVM_INSERTCOLUMN,0,(LPARAM)&lvColumn); // Insert/Show the coloum
// memset(&lvItem,0,sizeof(lvItem)); // Reset Item Struct
// Setting properties Of Items: lvItem.mask=LVIF_TEXT | LVIF_IMAGE; // Text Style
lvItem.cchTextMax = 256; // Max size of test
lvItem.iItem=0; // choose item
lvItem.iImage = 0;
lvItem.pszText=_T("fff"); // Text to display (can be from a char variable) (Items)
ListView_InsertItem(hCtl, &lvItem);
himlTurn = ImageList_Create(32, 32, ILC_COLORDDB | ILC_MASK, 4, 0);
if (himlTurn)
{
HICON hIcon;
//set up the image list
hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_DIR));
ImageList_AddIcon(himlTurn, hIcon);
hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_LEFT));
ImageList_AddIcon(himlTurn, hIcon);
hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_RIGHT));
ImageList_AddIcon(himlTurn, hIcon);
hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_END));
ImageList_AddIcon(himlTurn, hIcon);
ListView_SetImageList(hCtl, himlTurn, LVSIL_NORMAL);
} hCtl=GetDlgItem(hDlg, IDC_LIST_TURN);
if(hCtl!=NULL)
{
memset(&lvColumn,0,sizeof(lvColumn));
lvColumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
lvColumn.cx=0x28;
lvColumn.pszText=_T("Way");
lvColumn.cx=0xd2;
// Inserting Couloms as much as we want
ListView_InsertColumn(hCtl,0,&lvColumn);
// Setting properties Of Items:
lvItem.mask=LVIF_TEXT | LVIF_IMAGE; lvItem.cchTextMax = 256; lvItem.iItem=0;
lvItem.iImage = 0;
lvItem.pszText=_T("fff");
ListView_InsertItem(hCtl, &lvItem);
}