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 [デスクトップ アプリのみ]
ヘッダー
Winuser.h (Windows.h を含む)

関連項目

参照

DefWindowProc

GetWindowLong

GetWindowLongPtr

GetWindowText

GetWindowTextLength

WM_GETTEXTLENGTH

WM_SETTEXT

概念

Windows

その他のリソース

EM_GETSELTEXT

EM_STREAMOUT

LB_GETTEXT