1.
直接執行微軟系統自帶的虛擬鍵盤程式「
osk.exe」
在普通mfc
專案中可以呼叫
shellexecute
或者winexec
方法來直接執行微軟系統自帶的虛擬鍵盤程式「
osk.exe
」,十分方便一句話就可以搞定。
shellexecute:
shellexecute(getsafehwnd(), null, _t("osk.exe"), null,null,sw_normal);
winexec:
winexec("osk.exe",sw_normal);
程式執行出來的介面:
新增"imm.h"
和"imm32.lib"
來調出軟鍵盤
在你要調出軟鍵盤的**中引入
"imm.h"
標頭檔案(若專案裡沒有這兩個檔案,則將這兩檔案複製到專案根目錄裡,並將
"imm.h"
新增到工程裡)
#include
#pragmacomment(lib,"imm32.lib")
然後在調出軟鍵盤的訊息事件中新增如下**即可:
himc himc =immgetcontext(pwnd->m_hwnd); //
獲取接受輸入的視窗控制代碼
dword dwconv, dwsent;
immgetconversionstatus(himc,&dwconv,&dwsent);
if (dwconv & ime_cmode_softkbd)
dwconv &= ~ime_cmode_softkbd;//
關閉軟鍵盤
else
dwconv |= ime_cmode_softkbd; //
開啟軟鍵盤
immsetconversionstatus(himc,dwconv,dwsent);//
開啟或關閉軟鍵盤
immreleasecontext(pwnd->m_hwnd,himc);
但這種方法似乎只能在輸入法開啟的狀態下才可以開啟軟鍵盤 3.
在wince
上執行的
mfc中使用
sipapi
來調出軟鍵盤
為專案新增"sipapi.h"
標頭檔案,並在**中把這個標頭檔案包括進來
這個標頭檔案如果不加呼叫的是小鍵盤,加了呼叫的是大鍵盤
調出軟鍵盤的方法呼叫起來很簡單,就一句話而已。
開啟軟鍵盤:
sipshowim(sipf_on);
關閉軟鍵盤:
sipshowim(sipf_off);
執行效果:
Flex呼叫Windows的系統軟鍵盤
在windows系統中,可以通過命令開啟系統軟鍵盤,具體的做法如下 1.進入命令列 2.輸入 osk 回車。製作乙個bat檔案,裡面只有 osk 三個字元 程式設計執行這個bat檔案。file file.resolvepath c windows system32 cmd.exe var v vec...
監聽軟鍵盤中的刪除鍵
最近因為專案需要,要監聽軟鍵盤中的刪除鍵,在網上搜了大部分的說法,用onkeylistener,但是不知道為什麼,設定後並沒有效果,最後自己通過dispatchkeyevent實現了,如下 override public boolean dispatchkeyevent keyevent event...
Android的軟鍵盤和主題衝突的解決方法
把布局的layout換成這個layout試一下 問題描述.我們要做乙個狀態列設定顏色 也就是和我們的主題色一致的效果 我把主題換成 noactionbar的主題了,然後就出現很多彈出軟鍵盤的時候布局沒有移動的bug.找了很久找到這個方法希望對你有幫助.需要注意的是這個方式解決只能相容到21及以上版本...