ユーザーに情報の入力を促すためのヒントテキスト(グレー)をエディットボックスに表示する(EM_SETCUEBANNER を使用)

Windows Vista よりユーザーにエディットボックスに入力すべき内容を、エディットボックスにグレーで表示する API が用意されています。

見た目は下のような感じ

設定方法は

SendMessage(hEdit, EM_SETCUEBANNER, TRUE, (LPARAM)TEXT("メールアドレスを入力してください"));

解除方法は

SendMessage(hEdit, EM_SETCUEBANNER, TRUE, (LPARAM)TEXT(""));

もう一つ忘れてはならないのは、これらを使うにはコモンコントロール 6.0 の使用を宣言するマニフェストを exe の中に埋め込むようにしなければなりません。
プログラムの先頭に下記のようなコードを追加するとよいでしょう。

#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

#include <commctrl.h> // EM_SETCUEBANNER の定義

プロジェクトのダウンロード

もう少し文字色が薄いとよいのですが、文字色の変更はできないようです。色を独自に変えるにはエディットボックスのサブクラス化を行う必要があると思います。
こちらを参考にしてみてください。


kenjinote

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする