【MFC】MFC中调用系统软键盘的几种方法
生活随笔
收集整理的這篇文章主要介紹了
【MFC】MFC中调用系统软键盘的几种方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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);?
程序運行出來的界面:
?
2.添加"imm.h"和"imm32.lib"來調出軟鍵盤
在你要調出軟鍵盤的代碼中引入"imm.h"頭文件(若項目里沒有這兩個文件,則將這兩文件復制到項目根目錄里,并將"imm.h"添加到工程里)
#include?<Imm.h>??#pragma?comment(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);?運行效果:
轉載于:https://www.cnblogs.com/youuuu/archive/2011/07/25/2116370.html
總結
以上是生活随笔為你收集整理的【MFC】MFC中调用系统软键盘的几种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ListBox类似组件,鼠标右键点击事件
- 下一篇: java信息管理系统总结_java实现科