Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här avsnittet visar hur du lägger till bildlistor i en listvykontroll.
Du skapar bara de avbildningslistor som kontrollen använder. Om ditt program till exempel inte tillåter att användaren växlar till ikonvyn behöver du inte skapa och tilldela en stor ikonlista. Om du skapar både stora och små bildlistor måste de innehålla samma bilder i samma ordning, eftersom ett enda värde används för att identifiera ett listvyobjektsikon i båda bildlistorna.
Vad du behöver veta
Teknologier
Förutsättningar
- C/C++
- Programmering av Windows-användargränssnitt
Instruktioner
Om du vill visa objektbilder måste du tilldela en bildlista till listvisningskontrollen. Om du vill göra detta använder du meddelandet LVM_SETIMAGELIST eller motsvarande makro ListView_SetImageListoch anger om bildlistan innehåller fullstora ikoner, små ikoner eller tillståndsbilder. Om du vill hämta referensen till en bildlista som för närvarande är tilldelad till en listvykontroll ska du använda meddelandet LVM_GETIMAGELIST. Du kan använda funktionen GetSystemMetrics för att fastställa lämpliga dimensioner för de fullstora och små ikonerna.
I följande C++-kodexempel skapar den programdefinierade funktionen först bildlistor och tilldelar dem sedan till en listvykontroll.
// InitListViewImageLists: Creates image lists for a list-view control.
// This function only creates image lists. It does not insert the items into
// the control, which is necessary for the control to be visible.
//
// Returns TRUE if successful, or FALSE otherwise.
//
// hWndListView: Handle to the list-view control.
// global variable g_hInst: The handle to the module of either a
// dynamic-link library (DLL) or executable (.exe) that contains
// the image to be loaded. If loading a standard or system
// icon, set g_hInst to NULL.
//
BOOL InitListViewImageLists(HWND hWndListView)
{
HICON hiconItem; // Icon for list-view items.
HIMAGELIST hLarge; // Image list for icon view.
HIMAGELIST hSmall; // Image list for other views.
// Create the full-sized icon image lists.
hLarge = ImageList_Create(GetSystemMetrics(SM_CXICON),
GetSystemMetrics(SM_CYICON),
ILC_MASK, 1, 1);
hSmall = ImageList_Create(GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
ILC_MASK, 1, 1);
// Add an icon to each image list.
hiconItem = LoadIcon(g_hInst, MAKEINTRESOURCE(IDI_ITEM));
ImageList_AddIcon(hLarge, hiconItem);
ImageList_AddIcon(hSmall, hiconItem);
DestroyIcon(hiconItem);
// When you are dealing with multiple icons, you can use the previous four lines of
// code inside a loop. The following code shows such a loop. The
// icons are defined in the application's header file as resources, which
// are numbered consecutively starting with IDS_FIRSTICON. The number of
// icons is defined in the header file as C_ICONS.
/*
for(index = 0; index < C_ICONS; index++)
{
hIconItem = LoadIcon (g_hinst, MAKEINTRESOURCE(IDS_FIRSTICON + index));
ImageList_AddIcon(hSmall, hIconItem);
ImageList_AddIcon(hLarge, hIconItem);
Destroy(hIconItem);
}
*/
// Assign the image lists to the list-view control.
ListView_SetImageList(hWndListView, hLarge, LVSIL_NORMAL);
ListView_SetImageList(hWndListView, hSmall, LVSIL_SMALL);
return TRUE;
}
Relaterade ämnen