怎么使Alpha图标在PictureBox中完美绘画?

lc_mtt 2004-12-04 07:37:52

获得任意文件很容易解决,但是在WinXP系统中,通过SHGetFileInfo获得的图标,一些是Alpha图标,结果绘画在PictureBox中的时候,背景模糊,呈黑色。怎么解决这个问题?请高手赐教!
...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
AprilSong 2004-12-07
  • 打赏
  • 举报
回复
1、InitCommonControls 是要编译成exe运行才有效果

2、完整的manifest文件的内容看这里http://www.pconline.com.cn/pcedu/empolder/gj/vb/0406/400042.html
lc_mtt 2004-12-04
  • 打赏
  • 举报
回复
还是不行,我程序中,图标是打印在普通的PictureBox里面的,我按楼上的做法做了,还是没有变。
cso 2004-12-04
  • 打赏
  • 举报
回复
绘画在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。并且和执行文件放在一个目录下(一定要记住)。
thirdapple 2004-12-04
  • 打赏
  • 举报
回复

直接读alphaicon文件,虽然有点问题,凑合吧:
http://www.aivisoft.net/Source/AlphaIcon.zip

809

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧