全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3195
推到 Plurk!
推到 Facebook!

鍵盤的預設輸入法

尚未結案
pricejit2
一般會員


發表:53
回覆:18
積分:14
註冊:2005-01-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-08 20:55:15 IP:220.229.xxx.xxx 未訂閱
我該如何設定鍵盤的預設輸入法 比如說是英數 win32api有這個函數嗎 該怎麼使用呢
Vicen
高階會員


發表:13
回覆:145
積分:141
註冊:2005-03-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-09 10:05:59 IP:221.226.xxx.xxx 未訂閱
也记不清是什么时候什么地方下载收藏的,拿来借花献佛了~ < class="code"> //注意要引用 IMM 单元 // 取得window所有的输入法 function GetIMEList(slIMEList: TStringList): Integer; Const nHKL_LIST = 20; Var iHandleCount: integer; pList: array[1..nHKL_LIST] of HKL; szImeFileName: array[0..MAX_PATH] of char; sImeFileName: string; i: integer; begin iHandleCount:= GetKeyboardLayoutList(nHKL_LIST, pList); for i:= 1 to iHandleCount do begin ImmGetDescription(pList[i], szImeFileName, MAX_PATH); sImeFileName := trim(AnsiUpperCase(StrPas(szImeFileName))); slIMEList.Add(sImeFileName); end; Result := iHandleCount; end; //中英文切换 function SetKey2Ime(aObj: TWinControl): boolean; begin ImmSimulateHotKey(aObj.Handle, IME_THOTKEY_IME_NONIME_TOGGLE); result:= True; end; // 切换到指定的输入法 function SetActiveIme(sWanted: String): Boolean; Const nHKL_LIST = 20; Var iHandleCount: integer; pList: array[1..nHKL_LIST] of HKL; szImeFileName: array[0..MAX_PATH] of Char; sImeFileName: String; bInstalled: boolean; i: integer; begin Result := False; sWanted := AnsiUpperCase(sWanted); bInstalled := False; iHandleCount:= GetKeyboardLayoutList(nHKL_LIST, pList); for i:= 1 to iHandleCount do begin ImmGetDescription(pList[i], szImeFileName, MAX_PATH); sImeFileName := AnsiUpperCase(StrPas(szImeFileName)); if Pos(sWanted,sImeFileName)>0 then begin bInstalled:= True; Break; end; end; if bInstalled then begin ActivateKeyboardLayout(pList[i], 0); Result := True; end; end; 使用方法: //获取所有输入法列表 Var slIMEList : TStringList; Begin SlIMEList := TStringList.Create; TRY GetIMEList(SlIMEList); Memo1.Text := SlIMEList.Text; FINALLY SlIMEList.Free; END; End; //切换中英文 SetKey2Ime(Memo1); //切换到指定输入法 SetActiveIme('拼音加加');
rachex2000
一般會員


發表:21
回覆:32
積分:20
註冊:2003-04-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-06-27 15:15:11 IP:203.66.xxx.xxx 訂閱
為何我加入Imm單元後,還是找不到ImmGetDeforbiddenion函數? 我的環境是XP, Delphi6, Delphi附的Win32 SDK的Help中也沒有此函數的說明
eaglewolf
資深會員


發表:4
回覆:268
積分:429
註冊:2006-07-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-06-29 11:20:30 IP:211.75.xxx.xxx 訂閱
應該是ImmGetDes_c_r_i_p_tion這個函數才對(請把底線拿掉)
因為s_c_r_i_p_t這個字會被系統擋掉

------
先查HELP
再查GOOGLE
最後才發問

沒人有義務替你解答問題
在標題或文章中標明很急
並不會增加網友回答速度

Developing Tool:
1.Delphi 6
2.Visual Studio 2005
3.Visual Studio 2008
DBMS:
MS-SQL
編輯記錄
eaglewolf 重新編輯於 2007-06-29 11:21:31, 註解 無‧
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-10-12 11:12:42 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2017-12-17 20:03:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!