请问包含多个图标的图标文件里的其它图标怎么显示?

Piscis 2004-11-23 02:19:52
我搜索了帖子,好象只有一个主题在说这个,有朋友说在MSDN有解决方法,可我去MSDN看了好几天也没找到……所以再贴出来问问大家。
  我的ICON文件包含两个图标(一个32×32×256、一个48×48×256),我想显示出第二个图标来,可我弄不好……
...全文
127 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Piscis 2004-12-13
  • 打赏
  • 举报
回复
TO:tztz520(午夜逛街)
  恩,这个方法好象不行。可能是我没说清楚……我说的ICO文件包含两个图标,是指同一图标的两种格式(分别是32×32×256和48×48×256);用ExtractIcon函数检查我这个ICON文件只有一个图标。我想问的就是这种同一图标的不同格式的调用方法。而ExtractIcon函数好象更适合取EXE、DLL里的不同图标。
Coyozo 2004-11-24
  • 打赏
  • 举报
回复
呵呵
Piscis 2004-11-23
  • 打赏
  • 举报
回复
谢谢……老大^_^!我去试试………………
tztz520 2004-11-23
  • 打赏
  • 举报
回复
Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
Dim icon_n As Long
Dim icon_filename As String
Dim hmodule As Long



Private Sub Command1_Click()
icon_filename = "f:\22.ico"
Picture1.Cls
hmodule = GetModuleHandle(icon_filename)
icon_n = ExtractIcon(hmodule, icon_filename, 1) 显示第二个图标,如果后面的参数是0,就显示第一个图标,以此类推
DrawIcon Picture1.hdc, 0, 0, icon_n
End Sub

807

社区成员

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

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