在VB中使用自定义资源文件包含了一个16*16的Bitmap图片,使用ClipBoard.Setdata方法把它放到剪贴板上,然后想用commandBarButton.PasteFace的方法把图片放到按钮上作为图标,结果运行这里会提示PasteFace失败。而如果使了CopyFace后再使PasteFace却能正常运行,但这不是我想要的,我想要在按钮上显示自定义的图标
时间: 2023-07-15 09:15:56 浏览: 194
VB6.0通过ImageList加载资源文件的ICO设置给ToolBar中的按钮
4星 · 用户满意度95%
这个问题可能是因为你使用的Bitmap图片不是标准的Windows图标格式,因此在执行PasteFace方法时会失败。
你可以尝试先将Bitmap图片转换为标准的Windows图标格式,然后再使用PasteFace方法将其设置为按钮的图标。具体步骤如下:
1. 使用工具将Bitmap图片转换为ICO图标格式,例如使用在线转换工具https://icoconvert.com/。
2. 将转换后的ICO图标文件添加到资源文件中。
3. 在代码中使用LoadPicture方法加载ICO图标文件,然后将其设置为按钮的图标,示例代码如下:
```
Set btn = CommandBars("MyCommandBar").Controls.Add(msoControlButton)
btn.Caption = "My Button"
btn.FaceId = 0 '设置默认图标
btn.Style = msoButtonIconAndCaption
btn.PasteFace LoadPicture("res://MyResourceFile.ico, 1")
```
其中,"MyResourceFile.ico"为资源文件名称,"1"表示资源文件中第一个图标。
通过以上步骤,就可以将自定义的ICO图标设置为按钮的图标了。
阅读全文