我创建了应用程序,为它编写的所有插件都应该在我的表单上的特殊位置绘制,这些地方将是随机的或专门为插件选择的,因此每次坐标都是随机的。他们也应该使用标准的窗口GDI函数,如Rectangle(),FillRect(),TextOutA()等。 有什么更好的方法来实现这一目标?我知道我应该在我的程序中制作绘图引擎,我有两个选择:使用命名管道或使用Windows消息。也许有人有其他方法实施和测试?
答案 0 :(得分:0)
为了使用GDI函数,他们需要访问HDC
句柄。如果您的应用预留了TPanel
或其他合适的窗口容器进行绘制,那么它可以将容器的HWND
句柄传递给插件,然后插件可以通过{{手动获取HDC
需要时1}}或GetDC()
。如果您选择将实际GetWindowDC()
传递给插件,那么您可以将HDC
或其他合适的非窗口容器放在一边,而不需要专用的TPaintBox
并关联资源。