基になるデータが null の場合に文字列 "N/A" を表示する CEdit 派生コントロールがあります。私は最近、コントロールを空にするコードを追加しました (SetWindowText("");) フォーカスを取得すると、ユーザーがフォーカスを失ったときに "N/A"(SetWindowText("N/A")) に戻る場合に設定しますコントロールが空です。
唯一の問題は、ウィンドウ テキストを "" または "N/A" に設定すると EN_CHANGE がトリガーされるため、ダイアログでデータが変更されたと見なされることです。
SetWindowText (WM_SETTEXT) を呼び出すときに EN_CHANGE が発生しないようにするにはどうすればよいですか?
ノート
-編集コントロールを Multiline=TRUE に設定できることは知っていますが、それは私には受け入れられません。
-私のアプリケーションは MBCS であるため、SetCueBanner を使用できません
-エレガントなソリューションが欲しい。親ウィンドウを一時的に NULL に設定することは、洗練された解決策ではありません。
編集:
-各ダイアログではなく、カスタム コントロールにソリューションを配置したい
ありがとう