2016-03-08 125 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