xp系统vb程序 ico图标错误
我的是XP系统用VB编了个程序给程序换个图标说图片错误找个很多小格式的都不行。求助各位高手如何解决?我的意思是我自己有个图片下了很多修改的软件vb中还是图片错误,vb的图...
我的是XP系统用VB编了个程序 给程序换个图标说图片错误 找个很多小格式的都不行。求助各位高手 如何解决?
我的意思是我自己有个图片 下了很多修改的软件vb中还是图片错误,vb的图标限制是什么啊?用什么软件就可以修改并能在VB中用啊?在线等 急用!万分感谢!!! 展开
我的意思是我自己有个图片 下了很多修改的软件vb中还是图片错误,vb的图标限制是什么啊?用什么软件就可以修改并能在VB中用啊?在线等 急用!万分感谢!!! 展开
3个回答
展开全部
VB不支持32位真彩色图标,所以,你用24位色图标或者看看这个贴子。
欢迎来到VB吧提问。
模块部分:
'************************************************************
'* *
'* 本代码由 谷歌VIP用户编写,转载请注明原版权 *
'* 本代码只为交流学习用,不得作商业用途 *
'* *
'* 欢迎光临 百度 VB 吧。这里有许多热心的人会帮你解决难题 *
'* http://tieba.baidu.com/vb *
'* *
'************************************************************
Option Explicit
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
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETICON = &H80
Public Function SetIconFromFile(hWnd As Long, Optional FileName As String, Optional IconIndex As Integer) As Long
Dim m_Icon As Long
Dim hmodule As Long
If Len(FileName) = 0 Or Len(Dir(FileName, vbHidden)) = 0 Then
Dim MyPath As String
MyPath = App.Path
If Right(MyPath, 1) <> "\" Then MyPath = MyPath & "\"
FileName = MyPath & App.EXEName & ".exe"
End If
hmodule = GetModuleHandle(FileName)
m_Icon = ExtractIcon(hmodule, FileName, IconIndex)
SetIconFromFile = SendMessage(hWnd, WM_SETICON, 0, ByVal m_Icon)
End Function
Public Function SetIconFromPicture(hWnd As Long, Icon As IPictureDisp) As Long
SetIconFromPicture = SendMessage(hWnd, WM_SETICON, 0, ByVal Icon.Handle)
End Function
窗口:
Private Sub Form_Load()
'显示真彩色图标
SetIconFromFile Me.hWnd
'参数说明
'hWnd 要设置图标的窗口句柄
'FileName 图标文件,支持的文件类型有 *.ico;*.exe;*.dll 或者图标库文件,如果参数为空
' 则使用程序中的图标
'IconIndex 图标文件中的索引,如果为空则默认为0
'【注意:如果使用程序本深包含的图标,要想看到效果,必须生成EXE再运行】
End Sub
'从外部文件载入图标:
SetIconFromFile Me.hWnd, "C:\Windows\System32\Shell32.DLL", 0
欢迎来到VB吧提问。
模块部分:
'************************************************************
'* *
'* 本代码由 谷歌VIP用户编写,转载请注明原版权 *
'* 本代码只为交流学习用,不得作商业用途 *
'* *
'* 欢迎光临 百度 VB 吧。这里有许多热心的人会帮你解决难题 *
'* http://tieba.baidu.com/vb *
'* *
'************************************************************
Option Explicit
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
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETICON = &H80
Public Function SetIconFromFile(hWnd As Long, Optional FileName As String, Optional IconIndex As Integer) As Long
Dim m_Icon As Long
Dim hmodule As Long
If Len(FileName) = 0 Or Len(Dir(FileName, vbHidden)) = 0 Then
Dim MyPath As String
MyPath = App.Path
If Right(MyPath, 1) <> "\" Then MyPath = MyPath & "\"
FileName = MyPath & App.EXEName & ".exe"
End If
hmodule = GetModuleHandle(FileName)
m_Icon = ExtractIcon(hmodule, FileName, IconIndex)
SetIconFromFile = SendMessage(hWnd, WM_SETICON, 0, ByVal m_Icon)
End Function
Public Function SetIconFromPicture(hWnd As Long, Icon As IPictureDisp) As Long
SetIconFromPicture = SendMessage(hWnd, WM_SETICON, 0, ByVal Icon.Handle)
End Function
窗口:
Private Sub Form_Load()
'显示真彩色图标
SetIconFromFile Me.hWnd
'参数说明
'hWnd 要设置图标的窗口句柄
'FileName 图标文件,支持的文件类型有 *.ico;*.exe;*.dll 或者图标库文件,如果参数为空
' 则使用程序中的图标
'IconIndex 图标文件中的索引,如果为空则默认为0
'【注意:如果使用程序本深包含的图标,要想看到效果,必须生成EXE再运行】
End Sub
'从外部文件载入图标:
SetIconFromFile Me.hWnd, "C:\Windows\System32\Shell32.DLL", 0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
找后缀名为.ico 或 .cur的就好了啊,往上多的是,本机也有啊,就输入这个后缀名搜索下肯定有的
是不是用在form上?是的话记得只支持16*16非真色彩的icon
是不是用在form上?是的话记得只支持16*16非真色彩的icon
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VB不支持32位真彩色图标,换成24位的就行了,还有,就是图片大小也会出错,用16*16的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询