CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

请问一个虚拟键盘如何实现???高分求救,不够在加!!!

楼主haifeng_su(goldust)2004-09-01 03:56:44 在 VC/MFC / 基础类 提问

请问各位如何实现虚拟键盘?现在一点概念都没有,因为如果我自己设计的按键后,焦点就自动跑到我设计的键盘上面了,原来我要输入的地方焦点一没我就不能输入字母在上面了,请问我应该如何做阿???如何做到即使我在自己设计的键盘上操作,而焦点仍然在我指定要输入的地方???谢谢  
  问题点数:100、回复次数:7Top

1 楼i_noname(晚九朝五)回复于 2004-09-01 07:08:12 得分 0

让你的键盘把焦点给传回去Top

2 楼holyeagle(一杯清茶)回复于 2004-09-01 08:02:18 得分 70

http://www.vckbase.com/code/downcode.asp?id=1535  
  http://www.vckbase.com/code/downcode.asp?id=521  
   
  参考这几个程序吧Top

3 楼LongLongAgoImBoy(ThereIsAMe)回复于 2004-09-01 08:57:50 得分 10

用PostMessage()函数  
  比如你的CEdit为m_MyEdit  
  则m_MyEdit.PostMessage(WM_CHAR,   'A');//可以是任意字符  
  示例代码如下:  
  void   CTestDlg::OnLButtonDown(UINT   nFlags,   CPoint   point)    
  {  
  //   TODO:   Add   your   message   handler   code   here   and/or   call   default  
  CRect   rcWnd;  
  CRect   rc(1,1,20,12);//你的虚拟按钮位置  
  if(rc.PtInRect(point))//点击位置  
  m_MyEdit2.PostMessage(WM_CHAR,   'A');  
  CDialog::OnLButtonDown(nFlags,   point);  
  }  
   
  Top

4 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2004-09-01 09:08:18 得分 0

SetFocus?Top

5 楼BLsoft(網龍ζ龍活)(Cyber-Security of [MVP])回复于 2004-09-01 09:48:48 得分 10

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);    
            }    
          }    
  Top

6 楼rabo(不哭死人)回复于 2004-09-01 10:18:47 得分 10

一按下一个键,就POSTMESSAGE给那个EDITBOX就行了。不用焦点。Top

7 楼haifeng_su(goldust)回复于 2004-09-01 20:29:09 得分 0

输入的部分没问题,请问可否给出关于“虚拟键盘出来后,点击上面按键,但是焦点仍然在别的程序上(未知程序)   上,别的程序不一定是editbox,还可能是comboBox或者memo,例如IE的地址栏什么的“     的程序代码?主要是焦点这个问题我不明白,模拟按键的部分我知道如何做,谢谢。Top

相关问题

  • 如何实现虚拟键盘?
  • 请问如何在系统中实现虚拟键盘事件!!
  • 虚拟键盘摁键
  • 关于虚拟键盘
  • 今天,我的心情好,送分。随便找一下,类似于微软拼音的虚拟键盘的源代码。那个有?
  • 你做过虚拟键盘吗?
  • 求教:虚拟键盘输入中文
  • 求救高手!!虚拟键盘问题
  • 如何虚拟键盘输入???
  • 如何切换到虚拟键盘

关键词

  • 虚拟键盘
  • code
  • dwconv
  • 请问
  • myedit
  • softkbd
  • cmode
  • 焦点
  • himc
  • pwnd

得分解答快速导航

  • 帖主:haifeng_su
  • holyeagle
  • LongLongAgoImBoy
  • BLsoft
  • rabo

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo