我在Windows上使用Rich Edit控件。我尝试将值SS_OWNERDRAWN传递给CreateWindowEx调用,但似乎没有效果。如何防止丰富的编辑控件绘制任何内容,以便我可以自己绘制它?
我还尝试设置一个Windows子类,它简单地忽略WM_PAINT,但转发所有其他消息。这对我的整个系统产生了非常糟糕的影响,还导致我的应用程序暂停。
编辑:显然,系统仍然期望BeginPaint和EndPaint响应WM_PAINT,即使您返回0并且不绘制任何内容。我的系统不再死机,我的应用程序不再停止,丰富的编辑肯定不再绘制任何东西,但我仍然无法在该区域呈现我的Direct3D9文本。:(
编辑:事实证明,您并不拥有ID3DXFont::GetDC()返回的DC的所有权。文档不清楚,但问题已解决。
发布于 2012-11-20 06:53:49
RichEdit控件不支持所有者描述窗口样式,因此您不能使用SS_OWNERDRAWN或类似的样式。
至于WM_PAINT,简单地忽略绘制消息不应该造成如此严重的副作用,所以你一定做错了什么。
https://stackoverflow.com/questions/13463198
复制相似问题