Icon Größe
-
Hallo zusammen,
ich möchte in meiner Listbox Icons anzeigen was auch sehr gut klappt mit Außnahme einer kleinen Unschönheit...
Das *.ico file enthällt das Icon in 3 Größen.... 64x64 32x32 und 16x16...
Da das Icon in der ListBox sehr klein angezeigt wird habe ich beim erstellen der ImageList die kleinste darstellung gewählt, hier der Code/* SM_CXSMICON, SM_CYSMICON: Recommended dimensions, in pixels, of a small icon. Small icons typically appear in window captions and in small icon view. */ int nX= GetSystemMetrics(SM_CXSMICON); // Wert ist 16 int nY = GetSystemMetrics(SM_CYSMICON); // Wert ist 16 HIMAGELIST hList = ImageList_Create(nX, nY, ILC_MASK, 5, 7); ImageList_AddIcon(hList,LoadIcon(m_Hinstance, MAKEINTRESOURCE(ICON_INFOBOX_OK))); // ...weitere icons ListView_SetImageList(m_HwndInfoBox, hList, LVSIL_SMALL);
das Icon in der ListBox setze ich dann einfach über
LVITEM ListViewItem; ListViewItem.mask = LVIF_TEXT | LVIF_IMAGE; ListViewItem.iImage = enIcon; //enum der das Icon spezifiziert //...
Das Problem ist jetzt, das anscheinend das 64x64 große icon genommen und verkleinert wird...sieht ziemlich komisch aus...wenn ich das 64x64 und 32x32 Icon aus dem File entferne geht es zwar nur würde ich das Icon file gern unverändert lassen.
Gibt es eine möglichkeit explizit das 16x16 icon zu laden?Achja...ich arbeite unter Windows CE 6.0 R3
-
Nein. LoadIcon macht es "falsch"!
http://blog.m-ri.de/index.php/2008/03/15/loadicon-macht-es-nicht-richtig/
-
Vielen Dank für die Antwort, die Alternative funzt prima!
Gruß
Sascha