• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Win32 API エディットボックス内文字列の色変更)

Win32 APIエディットボックス内文字列の色変更

このQ&Aのポイント
  • Win32 APIについて質問です。エディットコントロールに表示されている文字列の色(またはフォント)を変更したいと思っています。
  • エディットボックスに「0」という数字を入力し、その後「更新ボタン」をクリックすると、「0」の文字色が赤色(または赤太文字)へ変更されるという具合です。
  • Win32 APIを使ってエディットボックス内の文字列の色を変更したい場合、SendMessage()という関数を使用し、エディットボックスのハンドルへメッセージを送ることで実現できます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Yanch
  • ベストアンサー率50% (114/225)
回答No.1

エディトコントロールの文字色変更は エディトコントロールを配置してある親ウィンドウのウィンドウプロシージャにて、 「WM_CTLCOLOREDIT」を受け取った時に、処理するとよいです。 パラメタに HDC hdcEdit = (HDC)wParam; /* エディトコントロールのHDC */ HWND hWndEdit = (HWND)lParam; /* エディトコントロールのHWND */ が送られてくるので、 hWndEditが処理したいエディトコントロールのハンドルと一致する場合に、 文字色を変更する処理を記述します。 SetTextColor(hdcEdit, 色); 詳しくは、APIリファレンスの「WM_CTLCOLOREDIT」を参照してみてください。

noname#72208
質問者

お礼

回答ありがとうございました。 回答頂いてから、自分なり書いてみてやっと実現できました。 また、よろしくお願いします。