QQ登录

只需一步,快速开始

54上位机VC MFC实现带自定义菜单的编辑框

[ 复制链接 ]

我们来演示下功能实现的整个过程

我们来演示下功能实现的整个过程

54上位机VC MFC实现带自定义菜单的编辑框


功能展示

在用MFC开发上位机程序时,其中编辑框控件会自带一个菜单,仅针对文本的简单操作如剪切,复制,粘贴等,我们当前实现来将这个系统菜单改为我们自己的菜单,来实现我们想要的菜单功能。效果如图;
要点提示
我们实现编辑框的自定义菜单功能,主要是通过修改PreTranslateMessage()来实现;在此函数中判断用户是否在编辑框上进行了鼠标左键放开,或鼠标左键放开操作。如果是我们就用函数TrackPopupMenu()弹出我们自己的菜单;TrackPopupMenu()语法BOOL TrackPopupMenu( UINT nFlags, int x, int y, CWnd* pWnd, LPCRECT lpRect = NULL ); nFlags为鼠标按钮标识和屏幕位置标识,取值如下TPM_CENTERALIGN    TPM_LEFTALIGN    TPM_RIGHTALIGN相对X坐标右对齐    TPM_LEFTBUTTON 左键菜单   TPM_RIGHTBUTTON   右键菜单;X Y菜单左顶点的XY坐标; pWnd菜单显示的窗口指针; lpRect 窗体矩形指针


实现功能
1.新建基于对话框的应用程序
2.拖拽一个编辑框控件进行简单设置,关联变量Cedit m_Text;添加菜单资源IDR_MENU1 ,添加几个菜单项再添加菜单变量CMenu m_Menu,进行初始化m_Menu.LoadMenu(IDR_MENU1);

3.添加PreTranslateMessage()虚函数,并实现自定义菜单的添加
  1. BOOL CGkbc8Dlg::PreTranslateMessage(MSG* pMsg)
  2. {
  3.         if(pMsg->message == WM_RBUTTONUP && pMsg->hwnd == m_Text.m_hWnd)
  4.         {
  5.                 CMenu *pMenu = m_Menu.GetSubMenu(0);
  6.                 pMenu->TrackPopupMenu(TPM_LEFTBUTTON|TPM_LEFTALIGN|TPM_VERTICAL,pMsg->pt.x,pMsg->pt.y,this,NULL);
  7.                 return true;
  8.         }
  9.         return CDialog::PreTranslateMessage(pMsg);

  10. }
复制代码
4.最后肯定是实现菜单项的功能,如我们当前例程的实现部分
  1. oid CGkbc8Dlg::On1()
  2. {
  3.         CString sText;
  4.         m_Text.GetWindowText(sText);
  5.         sText+="工控编程吧\r\n";
  6.         m_Text.SetWindowText(sText);
  7. }

  8. void CGkbc8Dlg::On2()
  9. {
  10.         CString sText;
  11.         m_Text.GetWindowText(sText);
  12.         sText+="gkbc8.com\r\n";
  13.         m_Text.SetWindowText(sText);
  14. }

  15. void CGkbc8Dlg::On3()
  16. {
  17.         CString sText;
  18.         m_Text.GetWindowText(sText);
  19.         sText+="微信263946146\r\n";
  20.         m_Text.SetWindowText(sText);
  21. }
复制代码
我们来演示下功能实现的整个过程

请点击此处下载

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

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

文件名称:54.上位机VC MFC实现带自定义菜单的编辑框.rar 
文件大小:138.52 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

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

  

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

  

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


回复

使用道具 举报

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