怎么使Alpha图标在PictureBox中完美绘画?
获得任意文件很容易解决,但是在WinXP系统中,通过SHGetFileInfo获得的图标,一些是Alpha图标,结果绘画在PictureBox中的时候,背景模糊,呈黑色。怎么解决这个问题?请高手赐教!
问题点数:20、回复次数:4Top
1 楼thirdapple(.:RNPA:.陨落雕 - 芝兰宝树)回复于 2004-12-04 20:34:08 得分 20
直接读alphaicon文件,虽然有点问题,凑合吧:
http://www.aivisoft.net/Source/AlphaIcon.zip
Top
2 楼cso(无聊中...)回复于 2004-12-04 21:09:33 得分 0
绘画在PictureBox中的时候,背景模糊,呈黑色
-------------------
我曾经遇到过这个问题,只要程序加上xp特效即可解决(至少我的解决了)
具体的实现方法如下:
①:在你的窗体加入代码。如果是多个窗口,可以将此代码放到模块中。
代码如下:
'声明API函数
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Private Sub Form_Initialize()
InitCommonControls
End Sub
注意:千万不要在Form_load()事件下写InitCommonControls这句话,否则你的窗体会启动不了。(不要怪我没告诉你啊~~~~)
②:建立一个和你的.exe同名的.exe.manifest文件(假如:如果你最后编译好的文件名为WindowXPStyle.exe,则建立一个文件名为WindowXPStyle.exe.manifest的文件),并且此文件必须存在于和你Exe文件的同一目录下。
以WindowXPStyle.exe为例,则这个WindowXPStyle.exe.manifest的文件的内容如下:
version="1.0.0.0"
processorArchitecture="X86"
name="CompanyName.ProductName.YourApp"
type="win32"
/>
Your application description here.
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
将以上内容保存为WindowXPStyle.exe.manifest。并且和执行文件放在一个目录下(一定要记住)。Top
3 楼lc_mtt(柠檬把大飞猪裤子一脱...被大飞猪投诉了)回复于 2004-12-04 23:36:25 得分 0
还是不行,我程序中,图标是打印在普通的PictureBox里面的,我按楼上的做法做了,还是没有变。Top
4 楼AprilSong(X)回复于 2004-12-07 23:34:48 得分 0
1、InitCommonControls 是要编译成exe运行才有效果
2、完整的manifest文件的内容看这里http://www.pconline.com.cn/pcedu/empolder/gj/vb/0406/400042.htmlTop




