热情软件屋

 

如何弹出软键盘


编号:QA004396
建立日期: 2001年9月5日 最后修改日期:2001年9月5日
所属类别:

wangshoujin:
    操作系统:Win98
    编程工具:Visual C++6.0
    问题:在vc编程中,我希望单击某个按钮时,弹出软键盘,不知道如何实现?
    水平: 一无所知

回答:

    1、打开/关闭输入法
    void CHideDlgDlg::OnButton9()
    {
     // TODO: Add your control notification handler code here
     CWnd * pWnd = GetDlgItem(IDC_TREE1);
     if (pWnd){
     pWnd->SetFocus();
     ImmSimulateHotKey(pWnd->m_hWnd, IME_CHOTKEY_IME_NONIME_TOGGLE);
    
     HIMC hIMC = ImmGetContext(pWnd->m_hWnd);
     DWORD dwConv, dwSent;
     DWORD dwTemp;
    
     ImmGetConversionStatus(hIMC,&dwConv,&dwSent);
     dwConv |= IME_CMODE_SOFTKBD;
    
     ImmSetConversionStatus(hIMC,dwConv,dwSent);
    
     ImmReleaseContext(pWnd->m_hWnd,hIMC);
     }
    
    }
    2、打开/关闭软键盘
    void CHideDlgDlg::OnButton10()
    {
     // TODO: Add your control notification handler code here
     CWnd * pWnd = GetDlgItem(IDC_TREE1);
     if (pWnd){
     pWnd->SetFocus();
    
     HIMC hIMC = ImmGetContext(pWnd->m_hWnd);
     DWORD dwConv, dwSent;
     DWORD dwTemp;
    
     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);
     }
    }

此问题由ac952_z_cn回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio