我创建了该应用程序,为其编写的所有插件都应该绘制在我的表单上的特殊位置,该位置将是随机的或专门为插件选择的,因此每次坐标都是随机的。他们还应该使用标准的 Windows GDI 函数,如 Rectangle()、FillRect()、TextOutA() 等。 完成此任务的更好方法是什么?我知道我应该在我的程序中创建绘图引擎,我有两个选择:使用命名管道或使用 Windows 消息。也许有人实现并测试了其他方法?
最佳答案
为了使用 GDI 函数,它们需要访问 HDC
句柄。如果您的应用预留了 TPanel
或其他合适的窗口容器用于绘图,那么它可以将容器的 HWND
句柄传递给插件,然后插件可以获得 需要时通过
。如果您选择将实际的 HDC 传递给插件,那么您可以预留一个 TPaintBox 或其他合适的非窗口容器,这不需要专用的 GetDC()
或 GetWindowDC()
手动进行 HDCHWND
和相关资源。
关于c - 通过第三方插件在我的应用程序中实现绘图的更好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5525562/