QQ登录

只需一步,快速开始

33上位机VC MFC实现虚拟键盘

[ 复制链接 ]

33上位机VC MFC实现虚拟键盘

33上位机VC MFC实现虚拟键盘

33上位机VC MFC实现虚拟键盘



功能展示

有时我们为了需要,得自己设计一个虚拟键盘,如在触摸屏编程时就没有键盘输入。那么我们如何快速的设计一个自己的键盘呢?我们当前例程就简单快速的完成了。效果如图;

要点提示
要实现一个虚拟的键盘可以在界面上放置一些按钮,用于数据录入。当用户单击某个按钮时,编辑框中会显示相应的数据。程序中需要处理按钮的单击事件,将当前的文本显示在编辑框中。由于虚拟键盘得设计多个按钮,如果为每个按钮都设置一个单击事件函数,会很繁琐,如果仅用一个通用的函数处理,由每个按钮在触发单击事件时调用,就可以简化代码了;


按钮按下会触发WM_LBUTTONDOWN消息,所以我们只要截获这一消息就可以。可以在PreTranslateMessage函数中进行处理
实现功能
1.新建基于对话框的应用程序
2.为了方便效果的展示,这里使用了数据库控件调用与显示了数据信息;
所在在对话框资源中添加ADO DATA控件,DATA GRID控件,并进行相关设置,额外再添加一个搜索用编辑框,虚拟键盘的按钮,具体如例程界面;

3.添加处理按钮单击事件的函数
  1. void CGkbc8Dlg::OnBtnClick(HWND hButton)
  2. {
  3.         CButton* pButton = (CButton*)CButton::FromHandle(hButton);
  4.         if (pButton)
  5.         {
  6.                 CString str;
  7.                 pButton->GetWindowText(str);
  8.                 CString text;
  9.                 m_Data.GetWindowText(text);
  10.                 if (str != "Del")
  11.                 {
  12.                         text.Insert(text.GetLength(),str);
  13.                 }
  14.                 else
  15.                 {
  16.                         text = text.Left(text.GetLength()-1);               
  17.                 }
  18.                 m_Data.SetWindowText(text);
  19.         }
  20. }
复制代码
  1. BOOL CGkbc8Dlg::PreTranslateMessage(MSG* pMsg)
  2. {
  3.         // TODO: Add your specialized code here and/or call the base class
  4.         if ((pMsg->message==WM_LBUTTONUP)&&(pMsg->hwnd != m_Data.m_hWnd&&pMsg->hwnd!=m_hWnd))
  5.         {
  6.                 OnBtnClick(pMsg->hwnd);
  7.         }        
  8.         return CDialog::PreTranslateMessage(pMsg);
  9. }
复制代码
5.给编辑框和数据库控件关联变量
  CEdit  m_Data;
  CAdodc  m_ADODC;
初始化m_Data  
m_ADODC.SetRecordSource("select * from drug");
m_ADODC.Refresh();


我们具体来演示功能实现的过程
源码及视频下载
(仅在电脑可见)
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:33.上位机VC MFC实现虚拟键盘.rar 
文件大小:186.34 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索