比如frmMain上有一cmdTest,现欲指定cmdTest.Picture为E:\A.exe的图标,如何实现?
谢谢!
谢谢!
解决方案 »
- 模块中动态添加控件并执行事情——陷入混乱中,请高人指点,高分求教,标题长,求点击
- 关于卸载再重新加载窗体的问题
- 高手进,个人感觉真难
- delete问题求助
- 请问如何将SQLServer2000中临时表的数据帮定到DataGrid网格控件里?
- 关于用DATA REPORT实现值再输出的过程中的转换的问题?
- 儿子出世,送分!
- 请问如何在程序里把word文档、网页文件等格式转换为纯文本格式?
- winsock用TCP Connect 联接,咋样知道联接是否成功?
- VB的应用程序安装程序安装时 我安装最后一步注册MSADO2.0时出错。现不知如何解决,请高手指教。
- VB如何在Excel 中控制字体的大小和range的用法
- 我是一只莱鸟,为什么如下代码不能实现文件下载
有个apI可以提取exe的icon。
提取出来后,你放到picture控件中。然后就可以设置了。
我在VC在试过,在VB中没有试过。你可以去找一些图标提取的例子看看就可以了。
呵呵,有时间我给你找一找。
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 ExtractIcon Lib "Shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Dim lcount As Integer
Dim lnum As Integer
Private Sub Command1_Click()
lnum = lnum + 1
X1 = ExtractIcon(App.hInstance, astr, lnum)
Form1.Refresh
X2 = DrawIcon(Form1.hdc, 0, 0, X1)
Command2.Enabled = True
If lnum > lcount Then
Command1.Enabled = False
End If
End Sub
Private Sub Command2_Click()
lnum = lnum - 1
X1 = ExtractIcon(App.hInstance, astr, lnum)
Form1.Refresh
X2 = DrawIcon(Picture1.hdc, 0, 0, X1)
Command1.Enabled = True
If lnum = 0 Then
Command1.Enabled = False
End If
End Sub
Private Sub Form_Load()
Form1.AutoRedraw = True
CommonDialog1.ShowOpen
astr = CommonDialog1.FileName
lnum = -1
Form1.Caption = astr
Command2.Enabled = False
Command1.Enabled = True
lcount = ExtractIcon(App.hInstance, astr, lnum)
lnum = 0
If lcount > 0 Then
Form1.Refresh
X1 = ExtractIcon(App.hInstance, astr, 0)
X2 = DrawIcon(Picture1.hdc, 0, 0, X1)
Else
MsgBox ("file has no icon resource.")
Command2.Enabled = False
Command1.Enabled = False
End If
End Sub