いくつかのコントロールを含むウィンドウがありますが、編集コントロールだけが視覚スタイルを無視しています。原因を突き止めようとしましたが、今のところうまくいきません。これは次のようになります。
ご覧のとおり、ボタンとリストボックス コントロールには適切な視覚スタイルがあります。ただし、編集コントロールはそうではありません。関係のない一連のコードを変更した後、数日前に適切なスタイルを適用したので、それが可能であることはわかっています。
注意事項:
- への呼び出しを試みましたが
InitCommonControls
、InitCommonControlsEx
成功しませんでした。 - 私は編集コントロールに WS_EX_CLIENTEDGE を適用しており、以前は機能していた場合でも、その拡張スタイルを常にオンにしていました。
この問題の追跡に役立つように、できるだけ多くのコードを含めました。
私の TextBox クラス (Component を継承する) から:
protected:
virtual void OnRegistering(CreationParameters& createParams)
{
// this is passed in as the lpClassName parameter in
// CreateWindowEx() and the lpszClassName parameter in WNDCLASSEX
createParams.BaseClassName = WC_EDIT;
// passed as the dwStyle parameter in CreateWindowEx()
createParams.WindowStyles |= ES_AUTOHSCROLL | ES_AUTOVSCROLL;
// passed as the dwExStyle parameter in CreateWindowEx()
createParams.WindowExStyles |= WS_EX_CLIENTEDGE;
}
WM_CTLCOLOREDIT または WM_ERASEBKGND メッセージの処理に関する問題は、これと関係がありますか? それともフォントの扱いの問題?または、他の何か?この時点で 100% アイデアがないからです。