大家都知道一个图标文件可包含很多个图标
只要图标文件中含有32以下的图标就能添加为窗体的图标(即加到窗体Icon属性里),虽然32位的图标不能显示为窗体图标,但窗体Icon属性里已包含了32位的图标,我是这样认为的,因为生成的EXE图标在XP下就是包含在Icon属性里32位的图标
其实在VB里的控件的Picture属性也是如此,只是没法显示出来,只有通过API才能显示32位的图标请问各位有没办法把这些32位的图标提取出来,生成生的ICON,就可API函数显示出来
(说明一下,不要从图标原文件中提取)
只要图标文件中含有32以下的图标就能添加为窗体的图标(即加到窗体Icon属性里),虽然32位的图标不能显示为窗体图标,但窗体Icon属性里已包含了32位的图标,我是这样认为的,因为生成的EXE图标在XP下就是包含在Icon属性里32位的图标
其实在VB里的控件的Picture属性也是如此,只是没法显示出来,只有通过API才能显示32位的图标请问各位有没办法把这些32位的图标提取出来,生成生的ICON,就可API函数显示出来
(说明一下,不要从图标原文件中提取)
解决方案 »
- 实时错误 429 activeX部件不能创建对象
- 100急求Winsock UDP方式完整代码,目前的代码实现结果20分钟左右后服务上的Winsock收不到数据包,但可以发包出去
- 关于滚动条的问题,哪位会的兄弟帮帮忙!解决了立刻给分!分不够再加!
- 关于按钮
- 帮助我啊!
- 关于vb调用word;powerpoint等问题
- 更有趣的问题(此问题在vba区没能解决),我发现word 2000不提示保不保存
- vb2005中,如何将大型文件以二进制流的形式存入access数据库中,我需要详细的操作过程和代码,谢谢
- 通用数据库管理、报表打印软件注册码免费大放送,限送100个,送完为止,想要的到http://dbspro.myetang.com去下载,将生成的序列号email到[email protected]处即可得到注册码。
- 如何为listbox控件加滚动条
- xxx.exe.manifest实现XP风格问题(大家来看看)
- vb6, 要怎么让原来的form 知道这菜单仍然开着,或已自行关闭了?
Private Declare Function DrawIconEx Lib "user32.dll" (ByVal hDC As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Long
Private Declare Function DestroyIcon Lib "user32.dll" (ByVal hIcon As Long) As Long Private Const DI_COMPAT = &H4 'Benutzt das Standard Benutzerdefiniertes Bild
Private Const DI_DEFAULTSIZE = &H8 'Zeichnet das Icon/Cursor mit der Standard graae
Private Const DI_IMAGE = &H2 'Zeichnet nur die Bilddaten des Icons/Cursors
Private Const DI_MASK = &H1 'Zeichnet nur die Maske des Icons/Cursors
Private Const DI_NORMAL = &H3 'Zeichnet Maske und Bilddaten Private hSmallIcons() As Long, hLargeIcons() As Long Private Sub Form_Load()
Dim RetVal As Long, IconNum As Long
Form1.AutoRedraw = 1
IconNum = ExtractIconEx("c:\windows\system32\pifmgr.dll", -1, 0&, 0&, 0&) '本文件可抽取38个图标
If IconNum = 0 Then
MsgBox "Diese Datei hat keine Icons"
Exit Sub
End If
HScroll1.Max = IconNum - 1
ReDim hSmallIcons(IconNum - 1)
ReDim hLargeIcons(IconNum - 1)
RetVal = ExtractIconEx("c:\windows\system32\pifmgr.dll", 0&, hLargeIcons(0), hSmallIcons(0), IconNum) '抽取多少个图标随意
End Sub Private Sub HScroll1_Change()
Me.Cls
RetVal = DrawIconEx(Me.hDC, 5, 5, hLargeIcons(HScroll1.Value), 0&, 0&, 0&, 0&, DI_IMAGE) '有底色
DrawIconEx Me.hDC, 5, 40, hSmallIcons(HScroll1.Value), 0&, 0&, 0&, 0&, DI_NORMAL
Me.Refresh
End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
On Error Resume Next
For i = 0 To UBound(hSmallIcons)
DestroyIcon hSmallIcons(i)
DestroyIcon hLargeIcons(i)
Next i
End Sub
http://blog.myspace.cn/1307693632/EntryTitleList.aspx
追求完美的我,唉!
VB要过时了