我想定義一個Win32窗口的應用程序圖標,例如通過調用SetClassLong
與GCL_HICON
並傳遞一個圖標的句柄(請參閱MSDN上的SetClassLong Function)。如何在窗口上設置HICON(多種尺寸的.ICO)?
這很好,但我還沒有想出我應該如何加載一個圖標(從ICO文件),以保持所有可用的大小(例如16x16,32x32,48x48和全尺寸的PNG圖標)。當我通過將圖標文件加載到內存中以獲得HICON
時,我必須指定我想要的尺寸(請參閱我的reply to a related question)。
我的ICO文件包含一個小尺寸的圖像,它應該被用作窗口圖標(標題欄的左上角),並且設計得非常清晰,但是也應該顯示在Alt-標籤對話框,但是......
加載16x16的圖標顯示在標題欄中適當的圖標,但 - 當然 - 它的一個醜陋的拉伸版本時,我使用Alt-Tab。而在任務欄中顯示的人也不是很漂亮。
加載48x48圖標顯示一個很好的圖標,當我按Alt-Tab時,但標題欄中顯示的圖標模糊不清,因爲它是48x48圖標的縮小版。
有什麼辦法告訴Windows我的Windows有一個多尺寸的圖標?有沒有我錯過的一些明顯的API?
目前,我無法使SetClassLong在我的WinForms應用程序上按預期工作。默認的WinForms圖標獲勝;當我用Alt-Tab時,我會看到我的圖標,但是默認的WinForms圖標被繪製在我的頭頂上。奇怪。如果我不能自己弄清楚,我會在堆棧溢出上發佈另一個問題。 – 2010-02-12 16:18:46
其他問題在這裏,如果你想知道:http://stackoverflow.com/questions/2266479 – 2010-02-17 13:43:33