WM_GETTEXT訊息
將對應至視窗的文字複製到呼叫端提供的緩衝區。
#define WM_GETTEXT 0x000D
參數
-
wParam
-
要複製的最大字元數,包括終止的 Null 字元。
ANSI 應用程式可能會因為從 ANSI 轉換成 Unicode 而使緩衝區中的字串 (大小縮減為 wParam 值) 的最小一半。
-
lParam
-
要接收文字之緩衝區的指標。
傳回值
類型: LRESULT
傳回值是複製的字元數,不包括終止的 Null 字元。
備註
DefWindowProc 函式會將與視窗相關聯的文字複製到指定的緩衝區,並傳回復制的字元數。 請注意,對於非文字靜態控制項,這會提供原本建立控制項的文字,也就是識別碼。 不過,它會提供您原本建立的非文字靜態控制項識別碼。 也就是說,如果您後續使用 STM_SETIMAGE 來變更它,則仍會傳回原始識別碼。
對於編輯控制項,要複製的文字是編輯控制項的內容。 對於下拉式方塊,文字是下拉式方塊 (或靜態文字) 部分編輯控制項的內容。 對於按鈕,文字是按鈕名稱。 對於其他視窗,文字是視窗標題。 若要複製清單方塊中專案的文字,應用程式可以使用 LB_GETTEXT 訊息。
當 WM_GETTEXT 訊息傳送至 具有SS_ICON 樣式的靜態控制項時,會在 lParam所指向緩衝區的前四個位元組中傳回圖示的控制碼。 只有在 已使用WM_SETTEXT 訊息來設定圖示時,才會發生這種情況。
豐富編輯: 如果要複製的文字超過 64K,請使用 EM_STREAMOUT 或 EM_GETSELTEXT 訊息。
將 WM_GETTEXT 訊息傳送至非文字靜態控制項,例如靜態點陣圖或靜態圖示控制項,不會傳回字串值。 相反地,它會傳回零。 此外,在舊版 Windows 中,應用程式可以將 WM_GETTEXT 訊息傳送至非文字靜態控制項,以擷取控制項的識別碼。 若要擷取控制項的識別碼,應用程式可以使用GetWindowLong傳遞GWL_ID作為索引值,或使用GWLP_IDGetWindowLongPtr。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限桌面應用程式] |
標頭 |
|
另請參閱
-
參考
-
概念
-
其他資源