結合我看得那個雙通輸入法程式來總結一下該輸入法的所有使用者介面
//啟動並初始化當前
ime輸入法
bool imeinquire(
lpimeinfo lpimeinfo, //
用於初始化該輸入法的結構位址
lptstr lpszwndclass, //
當前輸入法的名稱
lpctstr
或者dword lpszdata //
系統資訊
,9x系列值為
0,nt/2000
下有實際值)//
配置當前
ime引數函式
//該函式的功能是提供給輸入法使用者乙個可以更改某些隱含設定的能力
.如果你用過別人
//的輸入法
,其中的
"配置輸入法
..."
功能既是也
!對於乙個初寫輸入法的人
,可以不予理它
.bool imeconfigure(hkl ,//
當前輸入法控制代碼
hwnd ,//
配置視窗的父視窗
dword ,//
配置什麼
lpvoid//
使用者設定的資料)//
將字元或字串轉換成目標字元
dword imeconversionlist(
himc ,//
與當前輸入法相關的應用程式控制代碼
lpctstr, //
要轉換的字串
(也可能是結果串,可由
uflag
指定)
lpcandidatelist,//
轉換後的字串
(也可能是源串,可由
uflag指定)
dword,//
轉換後有幾個字元
uint//
指定結果的存放位置
)return :
如果成功
,返回轉換後的字串長度
//退出當前使用的
imebool winapi imedestroy(uint uforce)
//應用軟體訪問輸入法的介面
.lresult imeescape( //
使用者軟體訪問輸入法內部資訊的介面
himc himc, //
當前的應用程式控制代碼
uint uescape, //
設定函式功能
//=ime_esc_query _support
//=ime_esc_reserved_last ime_esc_reserved_first
//=ime_esc_private_first ime_esc_private_last
//=ime_esc_sequence_to_ internal
//=ime_esc_get_eudc_ dictionary
//=ime_esc_set_eudc_ dictionary
//=ime_esc_max_key
//=ime_esc_ime_name
//=ime_esc_sync_hotkey
//=ime_esc_hanja_mode
//=ime_esc_gethelpfilename(
只適應windows 98
和windows 2000)
//=ime_esc_private_hotkey(w95
下不可用
) lpvoid lpdata //
當前功能所需的資料
)如果失敗,返回
0,否則有個功能決定有時
,人們可以用此函式懷區輸入法的名稱、幫助檔名稱等。當然,我們可以不提供這些功能。
//ime
輸入鍵盤事件管理函式
,處理應用程式傳入的所有擊鍵事件,監測是否是當前輸入法所需的
bool imeprocesskey( himc ,//
應用程式控制代碼
uint ,//
需處理的虛鍵
dword,//
擊鍵訊息引數
const lpbyte//
當前鍵盤狀態(
256位元組)
)return :
如果此鍵是該輸入法需要的,則返回
true,
否則為false.
只有返回
true
的擊鍵,
ime才去處理
//啟動當前
ime輸入法
bool imeselect( himc , //
當前應用程式控制代碼
bool//
是否初始化當前輸入法,
true
表示初始化
)return :
成功返回
true
,否則為
false
//設定當前的輸入處於活動狀態
bool imesetactivecontext( himc , //
當前使用者程式控制程式碼
bool//
啟用或擱置:
=true
啟用=false 擱置)
return :
成功返回
true,
否則為false
//將輸入的鍵盤事件轉換為漢字編碼事件
uint imetoasciiex( uint ,//
虛鍵uint ,//
掃瞄碼const lpbyte ,//
使用者定義的鍵盤狀態
lpdword ,//
轉換後的資料存放區
uint ,//
活動選單標誌
himc//
當前的應用程式控制代碼
)bool notifyime( //
輸入法選擇視窗狀態管理函式:
himc himc, //
當前的應用程式控制代碼
dword dwaction, //
狀態值dword dwindex, //
與狀態值有關的序號
dword dwvalue //
與狀態值有關的值
)狀態值說明:
=ni_opencandidate
開啟編碼選擇視窗
=ni_closecandidate
關閉當前的編碼選擇窗
=ni_selectcandidatestr
選摘編碼
此時:dwindex
被選擇的編碼列表序號
. dwvalue
被選中的編碼在當前的編碼列表中的序號
=ni_changecandidatelist
改變當前的編碼列表(按
pageup
等鍵操作)
此時:dwindex
被選擇的編碼列表序號
. dwvalue
不用=ni_setcandidate_pagestart
設定編碼開始頁號
此時:dwindex
被改變的編碼列表序號
dwvalue
新頁的開始序號
. =ni_setcandidate_pagesize
改變編碼列表頁的大小
此時:dwindex
當前編碼頁序號
dwvalue
新的頁大小
=ni_contextupdated
更新應用程式的資訊的輸入法的資訊:移動位置,設定模式,設定編碼視窗,字型。此時:
dwindex
只用於dwvalue=imc_setconversionmode, imc_setsentencemode
dwvalue
可取由wm_ime_control
傳送的下列值
:imc_setcandidatepos
imc_set***positionfont
imc_set***positionwindow
imc_setconversionmode
imc_setsentencemode
imc_setopenstatus
=ni_***positionstr
改變編碼視窗中的編碼
此時:dwindex
取下列值:
cps_***plete
完成編碼轉換
cps_convert
轉換編碼
cps_revert
取消當前的編碼
cps_cancel
清除編碼,並關閉編碼窗
dwvalue
不用此函式成功,返回
true
,否則為
false
//向輸入法字典註冊字串
imeregisterword(lpctstr lpread, dword dw, lpctstr lpstr)
//和上面的操作相反
imeunregisterword(lpctstr lpread, dword dw, lpctstr lpstr)
//這個函式的功能還有待考證
imeenumregisterword(registerwordenumproc lpfn, lpctstr lpread, dword dw, lpctstr lpstr, lpvoid lpdata)
//由應用程式設定輸入法編碼
imeset***positionstring(himc himc, dword dwindex, lpcvoid lp***p, dword dw***p, lpcvoid lpread, dword dwread)
還有些不是太明白
慢慢研究了吧
雙通輸入法的使用者介面
雙通輸入法的使用者介面 結合我看得那個雙通輸入法程式來總結一下該輸入法的所有使用者介面 啟動並初始化當前ime輸入法 bool imeinquire lpimeinfo lpimeinfo,用於初始化該輸入法的結構位址 lptstr lpszwndclass,當前輸入法的名稱 lpctstr或者dw...
雙通輸入法發布
雙通輸入法介紹 輸入法的旗艦 雙通 拼音與筆畫 鍵盤與滑鼠 簡體與繁體 手機與電腦 字母鍵與數字鍵 無不雙雙通用!簡體版功能更加完善 繁體版首次公開發表 輸入法 關鍵是方法!雙通特色與創新點 1 數字小鍵盤的直角座標上,縱橫對應音節鍵位,首創 數字鍵雙拼!雙通a 2 韻母按區分布,軟鍵盤跟蹤提示,無...
輸入法的使用者介面
我現在使用的是微軟輸入法,以前使用過搜狗輸入法,但是搜狗輸入法顏色雜亂,佔空間大,顯得桌面雜亂,不符合我的個人使用習慣。1 使用者介面 整體上 只在工作列顯示中或者英,簡潔大方,色調商務正式,佔空間小,並且操作簡單實用,經常彈出使用者體驗以及糾錯功能資訊。系統介面 簡潔大方,色調商務正式,佔空間小,...