请问我VB里改变mousepointer不管是用图片还是改mousemove里面的都显示图片无效。
VB6不支持32位的图标文件即动画图标(.ani)。需要把32位的图标转换为24位图标就能用了。具体方法:首先要安装IcoFX,之后将汉化文件复制到IcoFX的语言文件夹中,并打开IcoFX。设置语言为汉语。导入一个图片,比如一个PNG图片,之后选择24位,48×48,注意不要选择32位,否则VB在导入图标时会提示“无效图片”。最后存储成ICO文件。
其实可以通过API间接的让VB支持任何图片作为光标,如果需要请留言。
VB6使用自定义图标
可设置鼠标指针来显示自定义图标或光标。用自定义图标或光标可进一步改变应用程序的外观和功能。图标就是 .ico 文件,与 Visual Basic 的文件相同。光标就是 .cur 文件,在本质上象图标一样是位图。但是创建光标主要是为了显示由鼠标引发的操作发生的位置─ 它们可表示鼠标的状态及当前的输入位置。
光标中还包含热点信息。热点是跟踪光标位置─ x 和 y 坐标─ 的像素。热点通常位于光标的中央。在用 MouseIcon 属性将图标加载到 Visual Basic 后,Visual Basic 把它们转换成光标格式并将热点设置成中央像素。两者不同点是,.cur 文件的热点位置可以改变,而 .ico 文件的热点位置不能改变。可在 Windows SDK 提供的“Image Editor”中编辑光标文件。
为使用自定义图标或光标,应设置 MousePointer 和 MouseIcon 属性。
使用 .ico 文件作鼠标指针
选定一个窗体或控件并将其 MousePointer 属性设置为 99-Custom。
将 .ico 文件加载到 MouseIcon 属性中。例如,对于窗体:
Form1.MouseIcon = LoadPicture("c:\Program _
Files\Microsoft Visual Basic\Icons\Computer\Disk04.ico")
为把图标显示成鼠标指针,必须正确设置这两个属性。在将 MousePointer 属性设置成 99-Custom 时,如果未在 MouseIcon 上加载图标,则使用缺省的鼠标指针。同样,如果未将 MousePointer 属性设置成 99-Custom,则将忽略 MouseIcon 的设置。
可是我的图标就是ICO格式的呢。
虽然扩展名是ICO,其实格式不尽相同,还是参考我前面说的,将vb不支持的ico,一般是32位的转换为24位及以下,vb才能识别。