Można użyć LoadImage
:
wcex.hIcon = (HICON) LoadImage(// returns a HANDLE so we have to cast to HICON
NULL, // hInstance must be NULL when loading from a file
"iconfile.ico", // the icon file name
IMAGE_ICON, // specifies that the file is an icon
0, // width of the image (we'll specify default later on)
0, // height of the image
LR_LOADFROMFILE| // we want to load a file (as opposed to a resource)
LR_DEFAULTSIZE| // default metrics based on the type (IMAGE_ICON, 32x32)
LR_SHARED // let the system release the handle when it's no longer used
);
Upewnij się, albo ustawić wcex.hIconSm
(mała ikona) na null lub załadować niewielką ikonę. Po ustawieniu na NULL, automatycznie użyje obrazu określonego przez hIcon. Po załadowaniu małej ikony z LoadImage, należy ustawić szerokość i wysokość na 16 i usunąć flagę LR_DEFAULTSIZE. Jeśli jest to ikona z przezroczystymi częściami, dodaj flagę LR_LOADTRANSPARENT
Z [documentation] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms648045.aspx): Nie używaj LR_SHARED dla obrazów o nietypowych rozmiarach, które mogą się zmienić po załadowaniu lub które są ładowane z pliku. – Paul