- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Win32 API エディットボックス内文字列の色変更)
Win32 APIエディットボックス内文字列の色変更
このQ&Aのポイント
- Win32 APIについて質問です。エディットコントロールに表示されている文字列の色(またはフォント)を変更したいと思っています。
- エディットボックスに「0」という数字を入力し、その後「更新ボタン」をクリックすると、「0」の文字色が赤色(または赤太文字)へ変更されるという具合です。
- Win32 APIを使ってエディットボックス内の文字列の色を変更したい場合、SendMessage()という関数を使用し、エディットボックスのハンドルへメッセージを送ることで実現できます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
エディトコントロールの文字色変更は エディトコントロールを配置してある親ウィンドウのウィンドウプロシージャにて、 「WM_CTLCOLOREDIT」を受け取った時に、処理するとよいです。 パラメタに HDC hdcEdit = (HDC)wParam; /* エディトコントロールのHDC */ HWND hWndEdit = (HWND)lParam; /* エディトコントロールのHWND */ が送られてくるので、 hWndEditが処理したいエディトコントロールのハンドルと一致する場合に、 文字色を変更する処理を記述します。 SetTextColor(hdcEdit, 色); 詳しくは、APIリファレンスの「WM_CTLCOLOREDIT」を参照してみてください。
お礼
回答ありがとうございました。 回答頂いてから、自分なり書いてみてやっと実現できました。 また、よろしくお願いします。