图形大小
Delphi中虽然插入图像(特别是无压缩的BMP)会导致运行文件变得很大,但是通过InstallShield得到的安装包会自动进行压缩,所以插入图像时一般不用担心其是否压缩过。
关于透明
经过观察发现,DELPHI中的一些图形按钮其拥有的位图会自动变成透明的,它似乎进行这样的操作:凡是与第一个像素的颜色相同的像素点都被设定为?透明色?。
2003.7.28:TBitMap的TransParentMode属性中说明,如果该属性设置为自动:tmAuto,则以位图左下角第一个像素的颜色为掩码基准色.
TbitMap
技巧:用EMPTY属性判断是否拥有一个位图。
可以通过其CanVas对象属性进行图形绘制以改变图形外观。就算TbitMap不包含图形,也可以通过设置Height和Width属性以及CanVas的绘制方法来给它添加一个图形。
调用LoadFromResourceName、LoadFromFile等获取图形失败会触发异常。
其Palette调色板属性中说明该调色板支持256种颜色,但是实际使用中发现TbitMap本身可以显示更多颜色(例如RGB)的位图,它们之间有什么关联和限制尚不清除。
TPicture
技巧:可以用GetOlePicture函数通过TPicture生成一个IpictureDisp接口对象。
皮肤控件
经测试,ThemeEngine控件包兼容性差,对速度影响很。BusinessSkin包则可以较好地兼容,当把表单中的控件都改为Business类控件后,调用Update Resource DLL,相关语言中的DFM也都自动变化了。
结论:尽量不要使用皮肤控件,如果确实需要,应该使用BusinessSkin。
2004-3-24 : 发现 BusinessSkin 也有一些难以克服的问题。皮肤类控件不应该再使用,用 dxForumLibrary 即可。