如何创建自定义GDI设备?

3

在用户模式下创建自定义的GDI设备是否可行?想法是创建一个设备上下文(HDC),我们可以将其传递给不透明组件,因此当组件调用类似TextOut的GDI函数时,我们可以获取实际文本字符串。

1个回答

4

我并没有使用过GDI,但我听说(http://msdn.microsoft.com/en-us/library/dd145051(VS.85).aspx)可以记录绘图并进行回放。你也许可以从中获取文本字符串。

我进一步研究了它,你可以使用CreateEnhMetaFile()创建一个GDI,用于记录绘图到metafile中。让组件使用这个GDI设备进行绘制。然后你可以调用EnumEnhMetaFile(),传递一个回调函数。你的回调函数将会被调用,并得到一个指向ENHMETARECORD的指针。ENHMETARECORD以一个[EMR](http://msdn.microsoft.com/en-us/library/dd162512(VS.85).aspx)开始。它有一个成员叫做iType,表示绘图操作的类型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接