2016-03-08 70 views
0

我在Windows 7上安裝了freepascal,但沒有安裝IDE。將應用程序圖標添加到freepascal/SDL程序中?

如何將圖標添加到我正在開發的程序中?我使用Google進行搜索,但大多數結果都指向了Lazarus IDE論壇。那裏的提示似乎都涉及某種我沒有的* .lpi文件。

謝謝。

[更新]

我知道它的部分工作。在File Explorer中查看EXE時,我可以看到圖標。但是啓動應用程序時,圖標不會出現在標題欄中。

[更新]

該程序是一個利用SDL的視頻遊戲。我做了一些研究,並彙集了以下代碼行:

RWop := SDL_RWFromFile('gharena.ico', 'rb'); 
ICOimage := IMG_Load_RW(RWop, 1); 
//ICOcolorkey := SDL_MapRGBA(ICOimage^.format, 0, 0, 0, 0); 
//SDL_SetColorKey(ICOimage, SDL_SRCCOLORKEY, ICOcolorkey); 
SDL_WM_SetIcon(ICOimage, Nil); 

它似乎工作,主要是。該圖標出現在標題欄和任務欄中。但是,標題欄圖標已將透明度搞亂了。該圖標是一個名爲'gharena.ico'的32位精靈。運行遊戲時,圖像的透明部分在程序標題欄中呈現爲黑色。任務欄圖標沒問題,並具有適當的透明度。

在上面的代碼中,你可以看到我已經搞亂了設置顏色鍵。但這似乎並不重要。

回答

2

比方說,你有一個圖標文件project.ico

創建一個名爲project.rc文件,包含以下內容:

ICON_1 ICON "project.ico" 

創建一個名爲文件buildres.cmd,具有以下內容:

@echo off 

set path=C:\FPC\3.0.0\bin\i386-win32\ 

windres.exe -i project.rc -o project.res 

pause 

當然,請不要忘記根據自己的安裝將路徑調整到FPC bin目錄。

雙擊buildres.cmd。您將得到一個名爲project.res的文件。現在

,測試程序:

program project; 

{$R project.res} 

begin 
    ReadLn; 
end. 
+0

這增加了在文件瀏覽器可執行文件的圖標,而不是窗口本身,當它被激活並運行。所以這只是一個部分答案。 – posfan12