VBA-替换图像
我在一个窗体上有12个命令按钮,我试着把小图像放在它们附近。我可以插入12个图像,但这样图像就是程序的一部分。是否可以以某种方式编译图像(在DLL文件中)并指示VBA从那里获取图像?我希望用户能够在运行程序之前更改图像,只需替换包含图像的文件。哦,我会从一开始就接受帮助
有人能帮我吗?
非常感谢! 我相信将位图资源编译到dll将是提供初始图像的最有效方式。然而,编译任务需要VB6。这也意味着,即使VB6在设计时可用,VBA用户在运行时也无法更改或向该dll添加其他图像。
另一种可能的选择是将初始图像作为单个文件存储在DVB项目的文件夹中,尽管可能需要更多的代码。当表单首次初始化时,可以运行代码来确定DVB自己的路径并加载适当的图像。需要额外的代码才能让最终用户修改图像。
我从来没有使用过任何一种外部图像资源的方法(我通常只是让它们成为程序的一部分),但这个过程听起来确实很有趣。我将在下周进一步调查,甚至只是为了满足我自己的好奇心。
事实上,这并不完全正确。我应该补充一点,自由程序ResourceHacker(http://angusj.com/resourcehacker/)还允许没有VB6的用户修改资源dll。不过,这必须在VBA表单之外完成。 谢谢你的回答!
用户无需修改DLL文件;程序应该从中读取图像。如果他用一个新的DLL(名称相同)替换DLL,当他启动程序时,将看到新的图像。
现在,你能告诉我如何从包含12个位图的DLL中读取特定图像吗?
我只是从这里和那里学到了一些VB(主要是从互联网上),但我从来没有这么深的发泄。 嗨,福卡罗,
我在将dll资源图像分配给VBA表单方面的成功有限。到目前为止,我已经收集了从dll读取图像所需的所有api调用,但VBA表单似乎确实公开了用于图像分配的适当句柄。
我建立了一个测试项目,有四个图像(见附件)。目前,它将第一个最多的图像读取到内存中,并且可以很容易地将其分配给AutoCAD作为宿主应用程序,但事实证明很难将其放到表单上(请参见附图)。
与VB6形式相比,VBA形式似乎步履蹒跚。我会继续四处寻找,看看有没有新的发现。
肖恩
ImgResProjFiles。拉链 好的,非常感谢您的时间!
我在做一个程序,我试着把好看的图片放在按钮附近。但对于色盲的人,我希望提供高对比度的图像,我认为DLL文件将是一种方式;同一个节目,不同的人有不同的面孔。
我仍在尝试自己,但正如我之前所说,我的VB(A)非常有限
毫无疑问
VB。NET提供了更多的功能,但不幸的是,它也提供了更多的学习曲线。 哈哈!
引用我的话很好!
无论如何你能告诉我怎么用VB做吗?可能这会让我更接近解决方案
页:
[1]