2011-07-04 54 views
1

我使用CreateWindowEx創建窗口,但我只在任務欄中獲取圖標;窗口的標題欄和顯示我Alt + Tab顯示這種類型的虛擬圖標時顯示的圖標:default Windows icon。我在WNDCLASSEX中將hIconhIconSm字段設置爲從::LoadIcon(hInstance, IDI_APPLICATION)(非NULL)返回的值。Win32 CreateWindowEx()窗口圖標顯示不正確

.ico文件本身是由.png創建的,我通過http://converticon.com生成了16x16,32x32和96x96(推薦的尺寸是什麼?)。可能是因爲我使用了錯誤的尺寸或顏色深度?如果是這樣,爲什麼它在任務欄中工作(不同大小)?謝謝!

回答

4

該圖標必須定義爲某處的資源。在你的資源頭應該有這樣一行:

#define IDI_MYICON 1000 

然後在你調用LoadIcon()應該是這樣的:

wc.hIcon = LoadIcon(hinstance, MAKEINTRESOURCE(IDI_MYICON)); 

如果你正在使用Visual Studio這是很容易添加資源。在解決方案資源管理器中右鍵單擊資源。

+0

謝謝_very_多,工作就像一個魅力! –