WM_GETTEXTLENGTH メッセージ
ウィンドウに関連付けられているテキストの長さを文字数で指定します。
#define WM_GETTEXTLENGTH 0x000E
パラメーター
-
wParam
-
このパラメーターは使用されず、0 である必要があります。
-
lParam
-
このパラメーターは使用されず、0 である必要があります。
戻り値
型: LRESULT
戻り値は文字単位のテキストの長さであり、終端の null 文字は含まれません。
注釈
編集コントロールの場合、コピーするテキストは編集コントロールの内容です。 コンボ ボックスの場合、テキストはコンボ ボックスの編集コントロール (または静的テキスト) 部分の内容です。 ボタンの場合、テキストはボタン名です。 その他のウィンドウの場合、テキストはウィンドウ タイトルです。 リスト ボックス内のアイテムの長さを確認するために、アプリケーションは LB_GETTEXTLEN メッセージを使用できます。
WM_GETTEXTLENGTH メッセージが送信されると、DefWindowProc 関数はテキストの長さを文字数で返します。 特定の条件下では、 DefWindowProc 関数は、テキストの実際の長さを超える値を返します。 これは、ANSI と Unicode の特定の組み合わせで発生します。これは、システムがテキスト内に 2 バイト文字セット (DBCS) 文字が存在する可能性があるためです。 ただし、戻り値は、常にテキストの実際の長さと同じ大きさになります。したがって、バッファーの割り当てをガイドするために常に使用できます。 この動作は、アプリケーションで ANSI 関数と Unicode を使用する一般的なダイアログの両方を使用する場合に発生する可能性があります。
テキストの正確な長さを取得するには、メッセージの WM_GETTEXT、 LB_GETTEXT、または CB_GETLBTEXT 、または GetWindowText 関数を使用します。
静的ビットマップや静的アイコン コントロールなどのテキスト以外の静的コントロールに WM_GETTEXTLENGTH メッセージを送信しても、文字列値は返されません。 代わりに、0 を返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
関連項目
-
参照
-
概念
-
その他のリソース