WM_GETTEXT メッセージ
ウィンドウに対応するテキストを、呼び出し元によって提供されるバッファーにコピーします。
#define WM_GETTEXT 0x000D
パラメーター
-
wParam
-
コピーする最大文字数 (終端の null 文字を含む)。
ANSI アプリケーションでは、ANSI から Unicode への変換により、バッファー内の文字列のサイズが ( wParam 値の半分以上に) 縮小される可能性があります。
-
lParam
-
テキストを受信するバッファーへのポインター。
戻り値
型: LRESULT
戻り値は、終端の null 文字を含まない、コピーされた文字数です。
解説
DefWindowProc 関数は、ウィンドウに関連付けられているテキストを指定されたバッファーにコピーし、コピーした文字数を返します。 テキスト以外の静的コントロールの場合、コントロールが最初に作成されたテキスト 、つまり ID 番号が表示されることに注意してください。 ただし、最初に作成されたテキスト以外の静的コントロールの ID が提供されます。 つまり、その後に STM_SETIMAGE を使用して変更した場合でも、元の ID が返されます。
編集コントロールの場合、コピーするテキストは編集コントロールの内容です。 コンボ ボックスの場合、テキストはコンボ ボックスの編集コントロール (または静的テキスト) 部分の内容です。 ボタンの場合、テキストはボタン名です。 その他のウィンドウの場合、テキストはウィンドウのタイトルです。 リスト ボックス内のアイテムのテキストをコピーするには、アプリケーションで LB_GETTEXT メッセージを使用できます。
WM_GETTEXT メッセージが SS_ICON スタイルの静的コントロールに送信されると、アイコンへのハンドルは、lParam が指すバッファーの最初の 4 バイトで返されます。 これは、 WM_SETTEXT メッセージがアイコンの設定に使用されている場合にのみ当てはまります。
リッチ エディット: コピーするテキストが 64K を超える場合は、 EM_STREAMOUT または EM_GETSELTEXT メッセージを使用します。
静的ビットマップや静的アイコン コントロールなど、テキスト以外の静的コントロールに WM_GETTEXT メッセージを送信しても、文字列値は返されません。 代わりに、0 を返します。 さらに、Windows の初期バージョンでは、アプリケーションはテキスト以外の静的コントロールに WM_GETTEXT メッセージを送信して、コントロールの ID を取得できます。 コントロールの ID を取得するために、アプリケーションでは、GWL_IDをインデックス値として渡す GetWindowLong を使用するか、GWLP_IDを使用して GetWindowLongPtr を使用できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
関連項目
-
参照
-
概念
-
その他のリソース