共用方式為


ITextServices::TxSendMessage 方法 (textserv.h)

由視窗主機用來將從視窗傳送的訊息轉送至文字服務物件。

語法

HRESULT TxSendMessage(
  UINT    msg,
  WPARAM  wparam,
  LPARAM  lparam,
  LRESULT *plresult
);

參數

msg

類型: UINT

訊息識別項。

wparam

類型: WPARAM

視窗訊息中的 WPARAM

lparam

類型: LPARAM

視窗訊息中的 LPARAM

plresult

類型: LRESULT*

訊息的 傳回 LRESULT

傳回值

類型: HRESULT

如果方法成功,傳回值會 S_OK

如果方法失敗,則傳回值是下列其中一個 HRESULT 代碼。 如需 COM 錯誤碼的詳細資訊,請參閱 COM 中的錯誤處理

傳回碼 Description
E_OUTOFMEMORY
記憶體不足。 NOERROR 訊息已處理,並已採取一些動作。
S_FALSE
訊息未處理。 通常表示呼叫端應該藉由呼叫 DefWindowProc來處理訊息本身。
S_MSG_KEYIGNORED
已處理訊息,但未針對擊鍵採取任何動作。

備註

請注意,會從此函式傳回兩個傳回值。 應該從視窗程序傳回的傳回值是 plresult。 不過,在某些情況下,傳回的 LRESULT 不包含足夠的資訊。 例如,若要實作在控件周圍移動游標,請務必知道按鍵 (例如右鍵) 已處理,但忽略 (例如,插入號已在文字) 的最右邊位置。 在這些情況下,可能會透過傳回的 HRESULT 傳回更多資訊。

WM_CHARWM_KEYDOWN 在辨識索引鍵或字元時,應該傳回值S_MSG_KEYIGNORED,但在目前狀態下沒有作用。 例如,在下列情況下,應該傳回S_MSG_KEYIGNORED:

  • 任何嘗試將插入點移至或超過檔開頭或結尾的按鍵;當它已經分別位於檔的開頭或結尾時。
  • 嘗試將插入點移至下一行或超過下一行時,嘗試在最後一行上移動插入點的任何按鍵;或在上一行已經在第一行之前或之前。
  • WM_CHAR 插入字元的任何插入,都會將插入點移過控件的最大長度。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 textserv.h
Dll Msftedit.dll

另請參閱

概念

DefWindowProc

ITextServices

其他資源

WM_CHAR

WM_KEYDOWN

無窗口豐富編輯控制件