注册 登录
编程论坛 VB6论坛

制作ico图标

shinesun 发布于 2013-07-31 13:52, 800 次点击
IcoWorkshop制作的ico图标在工具栏中显示特别小,制作时已经选择了大的格式,比如:64*64;结果是;工具栏按钮变大了,但是图片还是显示还是比较小,并且不清晰!是不是和选择的png图片的大小有关!谁能帮忙解释下!谢谢!
5 回复
#2
snrtjat2013-07-31 14:53
从百度上搜来的,希望对你有所帮助:

vb窗体图标是低质量的,你需要用最下面的代码设置图标。
程序代码:
Private Const ICON_BIG = 1
Private Const ICON_SMALL = 0
Private Const WM_SETICON = &H80
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 Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
Public Sub SetWindowIcon(hWnd As Long)   
    Dim hIcon As Long   
    hIcon = ExtractIcon(App.hInstance, App.EXEName & ".exe", 0)
    SendMessage hWnd, WM_SETICON, ICON_SMALL, ByVal hIcon
    SendMessage hWnd, WM_SETICON, ICON_BIG, ByVal hIcon
End Sub

图标文件只要里面有相应的分辨率图,系统会自动调用所需的分辨率图标的,只要你在作图标文件的时候做了,然后在窗口里设置ICON属性,在工程属性里设置好编译时使用的图标,就不用考虑这些问题了。
通常我在作图标文件的时候会这样做:
16×16  16色
16×16  256色
16×16  16位色
32×32  16色
32×32  256色
32×32  16位色
48×48  16色
48×48  256色
48×48  16位色
#3
shinesun2013-07-31 15:36
回复 2楼 snrtjat
在网上找了一些ico图标,大多数都是16*16的,我在icoWorkshop制作的时候选择了三种尺寸16*16,24*24,32*32,但是放到界面上的时候显示的比较小!你的这行代码,我试下
#4
shinesun2013-08-01 16:06
2楼的代码,我试了下,好像没有什么变化!不知道原因何在!
#5
风吹过b2013-08-01 17:26
比如:64*64;结果是;工具栏按钮变大了,但是图片还是显示还是比较小

VB 的工具栏的图片来源,是来自 控件的。
好像 是添加图像时,默认就是 16*16 的图像,也就是说 VB6 会自动缩小图像。
你要仔细检查一下你的图像源,是不是 固定大小的,并且固定成比较小的数值。
在 WIN7 中,没装完整版的 VB6 ,无法帮你看。
#6
shinesun2013-08-02 11:26
回复 5楼 风吹过b
工具栏控件Toolbar1中,能改变外观的选项都试了,都没有变化!那个按钮高度和宽度,也是不能自定义的!不知道你说的固定大小是在哪里查看!
现在就凑合用了!不好意思没有分给你了,下次吧
1