Windows でリッチ エディット コントロールを使用しています。SS_OWNERDRAWN
値を呼び出しに渡そうとしCreateWindowEx
ましたが、効果がないようです。所有者が描画できるように、リッチ エディット コントロールが何も描画しないようにするにはどうすればよいですか?
WM_PAINT
また、他のすべてのメッセージを単純に無視して転送するウィンドウ サブクラスを設定しようとしました。これはシステム全体に非常に厄介な影響を及ぼし、アプリケーションが停止する原因にもなりました。
編集: どうやら、0 を返して何もペイントしない場合でも、システムは WM_PAINT への応答として BeginPaint と EndPaint を期待しているようです。システムが停止したり、アプリが停止したりすることはなくなりました。リッチ エディットは確かに何も描画していませんが、その領域で Direct3D9 テキストをレンダリングすることはできません。:(
編集:実際には、によって返された DC の所有権を持っていないことが判明しましたID3DXFont::GetDC()
。ドキュメントは不明ですが、問題は解決しました。