あなたの「必」の書き順を教えてください

Win32 APIについて質問です。
(Microsoft Visual Studio .NET 2002、XP、API)

エディットコントロールに表示されている文字列の
色(またはフォント)を変更したいと思っています。
エディットボックスに「0」という数字を入力し
その後「更新ボタン」をクリックすると、「0」の
文字色が赤色(または赤太文字)へ変更される
という具合です。

Win32 APIを始めて間もない者(Cも始めて間もないです)
なので、かなり苦戦しております。
「SendMessage() 」みたいな関数を使用しエディット
ボックスのハンドルへメッセージを送ることで
実現させるのかなぁ程度しか理解しておりません。

ご存じの方すいませんがよろしくお願いします。

A 回答 (1件)

エディトコントロールの文字色変更は


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

詳しくは、APIリファレンスの「WM_CTLCOLOREDIT」を参照してみてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/11/27 09:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報