我有一个带有大型TImage的表单作为背景.问题是,它作为位图直接存储在DFM中,占用大约3 MB.原始的PNG文件大约是250K.我想尝试通过在资源中嵌入PNG来减少膨胀,然后在OnCreate期间使用表单加载它.我现在可以这样做,因为Delphi 2009包含PNG支持,除了我不太清楚如何使用PNG构建资源文件.有谁知道这是怎么做的?
在Delphi 7中,包含一个图像编辑器程序,它可以读取和写入.dcr 文件,这些文件只是.res具有不同扩展名的二进制资源文件(文件),按照惯例,它表示.dcr文件包含具有命名位图资源的编译资源.具有与组件名称对应的名称(名为TMyComponent的组件的名为TMYCOMPONENT的位图资源).这些位图是用于在delphi组件面板上放置图标的"图标",以及当您在其上放置非可视组件时,在您的表单或数据模块上放置的图标.
快进10年到Delphi XE,我正在尝试使用位图文件和RC文件制作组件图标,并将其构建到.DCR文件,作为Delphi IDE的一部分.
它应该只是在.dpk(包源)文件中添加.Rc文件和这样的声明,如下所示:
{$R mypackageicons.rc mypackageicons.dcr}
Run Code Online (Sandbox Code Playgroud)
包含组件图标的示例.rc文件:
// COMPONENT ICON RESOURCES
TMYCOMPONENT BMP "TMYCOMPONENT.BMP"
Run Code Online (Sandbox Code Playgroud)
但是,我不能让这个工作.当我尝试它时,似乎你得到了一些奇怪的RLINK32错误,并且在borlandmm.dll中崩溃了IDE:
[DCC Error] E2161 Error: RLINK32: Unsupported 16bit resource in file "C:\temp\compicon\COMPONENTICONS.rc"
[DCC Fatal Error] F2084 Internal Error: AV21515155-W06000D07-1
Run Code Online (Sandbox Code Playgroud)
有问题的位图文件是一个简单的256色bmp文件大小24x24像素,我也尝试了16色位图,没有运气.在我看来,ImageEdit程序是我所知道的唯一可用于创建Delphi组件图标的方法.
我错过了什么?
更新:对于那些无法访问Delphi 7图像编辑器的人来说,外部工具是一个不错的解决方案,实际上可能是优秀的,但我更愿意只使用Delphi附带的东西,因为它似乎是应该只使用一个{$ R}声明,一个文本文件和一个用画笔制作的bmp文件.当然,他们并没有省略制作组件图标的方法,这个非常棒的1.5千兆字节开发工具!.. update2:还有一种方法; Rudy V.发现了它.
我有一个应用程序将程序设置写入Windows注册表是绝对必要的.存储到文件不是一个选项.
为了简化这一点,我想提供一个"管理员权限"唠叨屏幕,而不是试图解释如何右键单击程序文件/捷径.
我找到了一篇相当不错的文章,但是在为清单添加自己的资源文件后,我收到了重复的资源错误.
这应该是由于与内部清单冲突并解决问题我看到很多评论建议在项目选项中禁用"启用运行时主题".我已经浏览了所有菜单,但找不到它,我现在被告知它可能在Delphi 7中不可用并且在以后的版本中引入.
我如何添加自己的清单?
每当我写一个资源文件(.rc)并将其放在bcc32.exe上时,就不会发生这种情况.如果我把它放在rc.exe上,它会给我一个.res文件,它在delphi中不起作用.
那么我必须在.rc文件中写一下,才能在bcc32上正确构建我的.res?(例如pls)让我说我想拥有abc.wav,这是在我的桌面上.谢谢
delphi ×4
resources ×2
components ×1
delphi-2009 ×1
delphi-7 ×1
delphi-xe ×1
manifest ×1
png ×1