IME消息
以下列出IME中用到的消息。
WM_IME_CHAR(IME得到了轉換結果中的一個字符)
WM_IME_COMPOSITION(IME根據用戶擊鍵的情況更改了按鍵組合狀態)
WM_IME_COMPOSITIONFULL(IME檢測到按鍵組合窗口的區域無法繼續擴展)
WM_IME_CONTROL(由應用程序直接向IME發出控制請求)
WM_IME_ENDCOMPOSITION(IME完成了對用戶擊鍵情況的組合)
WM_IME_KEYDOWN(檢測到“鍵盤上的某鍵被按下”的動作,同時在消息隊列中保留該消息)
WM_IME_KEYUP(檢測到“鍵盤上的某鍵已彈起”的動作,同時在消息隊列中保留該消息)
WM_IME_NOTIFY(IME窗口發生了改變)
WM_IME_REQUEST(通知:IME需要應用程序提供命令和請求信息)
WM_IME_SELECT(操作系統將改變當前IME)
WM_IME_SETCONTEXT(輸入焦點轉移到了某個窗口上)
WM_IME_STARTCOMPOSITION(IME准備生成轉換結果)
IME函數
本節列出了所有IME函數。
函數
說明
EnumInputContext
由應用程序定義的,提供給ImmEnumInputContext函數用來處理輸入環境的一個回調函數。
EnumRegisterWordProc
由應用程序定義的,結合ImmEnumRegisterWord函數一起使用的一個回調函數。
ImmAssociateContext
建立指定輸入環境與窗口之間的關聯。
ImmAssociateContextEx
更改指定輸入環境與窗口(或其子窗口)之間的關聯。
ImmConfigureIME
顯示指定的輸入現場標識符的配置對話框。
ImmCreateContext
創建一個新的輸入環境,並為它分配內存和初始化它。
ImmDestroyContext
銷毀輸入環境並釋放和它關聯的內存。
ImmDisableIME
關閉一個線程或一個進程中所有線程的IME功能。
ImmDisableTextFrameService
關閉指定線程的文本服務框架(TSF)功能--雖然這里把它列了出來,但建議程序員最好不要使用這個函數。
ImmEnumInputContext
獲取指定線程的輸入環境。
ImmEnumRegisterWord
列舉跟指定讀入串、樣式和注冊串相匹配的注冊串。
ImmEscape
對那些不能通過IME API函數來訪問的特殊輸入法程序提供兼容性支持的一個函數。
ImmGetCandidateList
獲取一個候選列表。
ImmGetCandidateListCount
獲取候選列表的大小。
ImmGetCandidateWindow
獲取有關候選列表窗口的信息。
ImmGetCompositionFont
獲取有關當前用來顯示按鍵組合窗口中的字符的邏輯字體的信息。
ImmGetCompositionString
獲取有關組合字符串的信息。
ImmGetCompositionWindow
獲取有關按鍵組合窗口的信息。
ImmGetContext
獲取與指定窗口相關聯的輸入環境。
ImmGetConversionList
在不生成任何跟IME有關的消息的情況下,獲取輸入按鍵字符組合或輸出文字的轉換結果列表。
ImmGetConversionStatus
獲取當前轉換狀態。
ImmGetDefaultIMEWnd
獲取缺省IME類窗口的句柄。
ImmGetDescription
復制IME的說明信息到指定的緩沖區中。
ImmGetGuideLine
獲取出錯信息。
ImmGetIMEFileName
獲取跟指定輸入現場相關聯的IME文件名。
ImmGetImeMenuItems
獲取注冊在指定輸入環境的IME菜單上的菜單項。
ImmGetOpenStatus
檢測IME是否打開。
ImmGetProperty
獲取跟指定輸入現場相關聯的IME的屬性和功能。
ImmGetRegisterWordStyle
獲取跟指定輸入現場相關聯的IME所支持的樣式列表。
ImmGetStatusWindowPos
獲取狀態窗口的位置。
ImmGetVirtualKey
獲取跟IME處理的鍵盤輸入消息相關聯的初始虛擬鍵值。
ImmInstallIME
安裝一個IME。
ImmIsIME
檢測指定的輸入現場是否有和它相關的IME。
ImmIsUIMessage
檢查IME窗口消息並發送那些消息到特定的窗口。
ImmNotifyIME
通知IME有關輸入環境狀態已改變的消息。
ImmRegisterWord
注冊一個輸出文字到跟指定輸入現場相關聯的IME的字典中去。
ImmReleaseContext
銷毀輸入環境並解除對跟它相關聯的內存的鎖定。
ImmSetCandidateWindow
設置有關候選列表窗口的信息。
ImmSetCompositionFont
設置用來顯示按鍵組合窗口中的字符的邏輯字體。
ImmSetCompositionString
設置按鍵組合字符串的字符內容、屬性和子串信息。
ImmSetCompositionWindow
設置按鍵組合窗口的位置。
ImmSetConversionStatus
設置當前轉換狀態。
ImmSetOpenStatus
打開或關閉IME功能。
ImmSetStatusWindowPos
設置狀態窗口的位置。
ImmSimulateHotKey
在指定的窗口中模擬一個特定的IME熱鍵動作,以觸發該窗口相應的響應動作。
ImmUnregisterWord
從跟指定輸入環境相關聯的IME的字典中注銷一個輸出文字。
IME命令
以下列出IME中用到的命令(控制消息)。
IMC_CLOSESTATUSWINDOW(隱藏狀態窗口)
IMC_GETCANDIDATEPOS(獲取候選窗口的位置)
IMC_GETCOMPOSITIONFONT(獲取用來顯示按鍵組合窗口中的文本的邏輯字體)
IMC_GETCOMPOSITIONWINDOW(獲取按鍵組合窗口的位置)
IMC_GETSTATUSWINDOWPOS(獲取狀態窗口的位置)
IMC_OPENSTATUSWINDOW(顯示狀態窗口)
IMC_SETCANDIDATEPOS(設置候選窗口的位置)
IMC_SETCOMPOSITIONFONT(設置用來顯示按鍵組合窗口中的文本的邏輯字體)
IMC_SETCOMPOSITIONWINDOW(設置按鍵組合窗口的樣式)
IMC_SETSTATUSWINDOWPOS(設置狀態窗口的位置)
IMN_CHANGECANDIDATE(IME通知應用程序:候選窗口中的內容將改變)
IMN_CLOSECANDIDATE(IME通知應用程序:候選窗口將關閉)
IMN_CLOSESTATUSWINDOW(IME通知應用程序:狀態窗口將關閉)
IMN_GUIDELINE(IME通知應用程序:將顯示一條出錯或其他信息)
IMN_OPENCANDIDATE(IME通知應用程序:將打開候選窗口)
IMN_OPENSTATUSWINDOW(IME通知應用程序:將創建狀態窗口)
IMN_SETCANDIDATEPOS(IME通知應用程序:已結束候選處理同時將移動候選窗口)
IMN_SETCOMPOSITIONFONT(IME通知應用程序:輸入內容的字體已更改)
IMN_SETCOMPOSITIONWINDOW(IME通知應用程序:按鍵組合窗口的樣式或位置已更改)
IMN_SETCONVERSIONMODE(IME通知應用程序:輸入內容的轉換模式已更改)
IMN_SETOPENSTATUS(IME通知應用程序:輸入內容的狀態已更改)
IMN_SETSENTENCEMODE(IME通知應用程序:輸入內容的語句模式已更改)
IMN_SETSTATUSWINDOWPOS(IME通知應用程序:輸入內容中的狀態窗口的位置已更改)
IMR_CANDIDATEWINDOW(通知:選定的IME需要應用程序提供有關候選窗口的信息)
IMR_COMPOSITIONFONT(通知:選定的IME需要應用程序提供有關用在按鍵組合窗口中的字體的信息)
IMR_COMPOSITIONWINDOW(通知:選定的IME需要應用程序提供有關按鍵組合窗口的信息)
IMR_CONFIRMRECONVERTSTRING(通知:IME需要應用程序更改RECONVERTSTRING結構)
IMR_DOCUMENTFEED(通知:選定的IME需要從應用程序那里取得已轉換的字符串)
IMR_QUERYCHARPOSITION(通知:選定的IME需要應用程序提供有關組合字符串中某個字符的位置信息)
IMR_RECONVERTSTRING(通知:選定的IME需要應用程序提供一個用於自動更正的字符串)
IME編程中需要用到的數據結構
這里列了所有在使用輸入法編輯器函數和消息時需要用到的數據結構。
CANDIDATEFORM(描述候選窗口的位置信息)
CANDIDATELIST(描述有關候選列表的信息)
COMPOSITIONFORM(描述按鍵組合窗口的樣式和位置信息)
IMECHARPOSITION(描述按鍵組合窗口中的字符的位置信息)
IMEMENUITEMINFO(描述IME菜單項的信息)
RECONVERTSTRING(定義用於IME自動更正功能的字符串)
REGISTERWORD(描述一個要注冊的讀入信息或文字內容)
STYLEBUF(描述樣式的標識符和名稱)
IME常量
這里列出了所有在使用輸入法編輯器函數和消息時需要用到的常量。
? IME轉換模式常量
? IME按鍵組合字符串常量
? IME熱鍵標識常量
? IME句型模式常量
? IMMEscape函數常量