【发布时间】:2014-11-12 06:51:56
【问题描述】:
我正在使用 Access 2010 的新功能区功能,并试图找出将图像从表格加载到功能区的最简单方法。我知道我可以通过使用 GDI API 函数来做到这一点,但是从我所看到的代码看起来很复杂,并且似乎使用了额外的 dll,如果我不需要的话,我也会避免调用这些 dll。我也知道我可以在表单上创建一个控件,将图像加载到表单,然后将图像从表单加载到功能区图像变量。虽然使用表格是可行的,但它似乎很草率。最终,如果必须,我将采用上述两种方法之一,但似乎应该有一些简单的方法可以将表格中的图像直接加载到功能区的图像变量中。
需要注意的一点是,我愿意使用最简单的任何图像格式。这些图标文件非常小,所以我不关心文件大小,也不关心它们是否能够透明。所以,如果有一种方法只适用于位图文件类型,我觉得很好。
这是功能区 XML 中按钮的代码:
<button id="CCTrans" label="Credit Card Trans." getImage="GetMnuIcn" onAction="=OpenCCTrans()" />
这是我用于检索图像的代码:
Sub GetMnuIcn(control As IRibbonControl, ByRef Image)
Set Image = DLookup("Img", "LtblImg", "Lbl=""" & control.ID & """")
End Sub
我尝试将图像存储为 OLE 对象和附件。无论哪种方式,当我尝试检索它时,它都会给我错误“类型不匹配”。为简单起见,我一直将其存储为位图,但我在第一次尝试时也尝试了 .gif 和 .png。
注意:显然功能区图标是 IPictureDisp 对象。如果我能弄清楚如何将表格中的图像加载到其中一种对象类型中,我应该能够将它用于功能区。
此外,微软网站上有很多很好的信息,但我还没有能够将它们拼凑成一个解决方案。这是一个链接:http://msdn.microsoft.com/en-us/library/bb187398.aspx
【问题讨论】:
标签: image bitmap ms-access-2010 ribbon