给定一个具有自己的OnPaint方法的自定义控件CCustomWnd,CCustomWnd :: OnPaint可以使用相同格式呈现CRichEditCtrl的内容的最简单方法是什么?
为了澄清,我的对话框/窗口中的其他地方是CRichEditCtrl。我有自定义控件,可以进行一系列自定义绘图,包括绘制编辑控件的内容。目前它不保留格式,现在它需要(不是所有,但颜色/装饰)。
自定义控件无法替换或大幅重写。所以基本上给出了CDC和CRichEditCtrl,如何使用前者渲染后者的格式化文本?
答案 0 :(得分:2)
丰富的编辑控件确实支持主要用于打印的几条消息(EM_FORMATRANGE
和EM_DISPLAYBAND
)。我从来没有尝试过,但是我无法想到他们要求 DC
引用打印机而不是屏幕上的窗口的任何真正原因。在这种情况下,您应该能够将消息发送到现有的富编辑控件,告诉它将其内容的正确部分呈现给自定义控件中的选定矩形。
答案 1 :(得分:1)
你不能在富编辑控件上制作'截图'(GetDC(),BitBlt()到内存DC)并在其他地方显示吗?