2011-08-29 68 views
5

在Delphi應用程序中定義win7兼容圖標集的正確方法是什麼? (可變大小在桌面上)在Delphi 2007應用程序中設置Windows 7兼容圖標

我設計了一個256 * 256的圖標,然後製作了16 * 16,24 * 24,48 * 48的變體。 (在Microsoft UX指南中,他們似乎認爲這些尺寸應該包含在桌面上以便正確顯示)。

我已經把所有的圖標變化放在GIMP的一個多層文件中,然後把整個東西導出爲一個ico。然後我將它作爲項目選項中的應用程序圖標,按照直接的方式將圖標分配給應用程序。 (Win 7)當在桌面上(Win 7)製作「Ctrl + Wheel」(調整桌面圖標大小,如果您還不知道它......)時,我已經放了一個shorcut, ,正確的圖標不顯示,在48 * 48之後它保持相同的大小(我懷疑只有48 * 48版本被使用)。

+0

256px版本必須是PNG。是你的?我會推薦IcoFX將各種圖像整理成.ico文件。另外,一些Delphi的資源編譯器的舊版本不支持256像素的PNG圖標。如果是這種情況,請使用MS rc。 –

+0

沒有256 px版本沒有(還沒有...)壓縮。 – az01

+0

實際上,我認爲系統確實接受256像素的bmp。儘管如此,仍然不是一個好計劃他們是巨大的! –

回答

8

256像素大小的圖標應該是壓縮的PNG圖標。我懷疑Delphi 2007附帶的資源編譯器不會喜歡這種格式,因此您需要使用MS資​​源編譯器rc。該圖標應命名爲MAINICON。這就是說,我懷疑一個256像素的位圖會起作用,它會非常大。

更重要的是,IIRC,Delphi IDE不喜歡256像素的PNG圖標,所以通過IDE將圖標添加到項目中並不好。您需要自行構建.res文件並將其與{$R ...}指令鏈接。

最後,可能您的.ico文件可能不正確。 256px圖像實際上存儲寬度和高度等於0,因爲該字段是字節大小和0以前無效。也許這就是IDE所暗示的。用不同的工具檢查.ico文件,例如IcoFX。

可能還有其他問題 - 這些只是我能記得多年來遇到的問題。如果我不得不猜測哪個問題咬你,我會說這是IDE無法處理256像素的圖標。

我相信IDE在這個領域已經在更新的版本中逐步好轉,但即使在我目前使用的D2010中,它也不是完美的。

+0

我已經使用了XE2 beta中提供的資源編譯器來編譯圖標集。除了我不需要h文件之外,它與Microsoft的一樣。它編譯rc ...實際上問題依然存在。這只是D2007-output-exe RC數據不管理壓縮資源......沒有辦法改變這種情況。即使在ResHack中也無法取代res ...它只是不能在舊版本中進行管理...... – az01

+0

I'我沒有得到XE2,但我期望brcc32仍然不同於MS rc。我已經用rc成功地使用了壓縮圖標幾年。 –

相關問題