QQ登录

只需一步,快速开始

35上位机VC MFC实现程序最顶端显示

[ 复制链接 ]

35上位机VC MFC实现程序最顶端显示

35上位机VC MFC实现程序最顶端显示

35上位机VC MFC实现程序最顶端显示



功能展示

有时候我们想让自己开发上位机程序显示在桌面的最顶端,以便保证用户及时且能够看到程序的提示信息,我们就得设计实现这样的功能,如何实现呢?我们这例程就实现了这功能,效果如图


要点提示

在实现我们设计的 上位机程序永远在桌面的最前面,就得全用SetWindowPos这个函数,此函数可以为窗口指定一个新的位置和状态:
BOOL SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags );
x,y,cx,四个参数为窗口所以设置的位置和大小;
pWndInsertAfter为指定窗口的Z顺序,我们就可以通过设置此参数为&wndTopMost,实现窗口最前显示效果;
nFlags窗口尺寸和定位的标志
实现功能
1.新建基于对话框的应用程序

2.在主窗口中添加虚函数PreTranslateMessage()窗口不可移动功能
  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_NCLBUTTONDOWN)
  5.         {
  6.                 pMsg->message=WM_LBUTTONDOWN;
  7.         }
  8.         
  9.         return CDialog::PreTranslateMessage(pMsg);
  10. }
复制代码
3.在对话框初始化函数OnInitDialog()里添加MoveWindowToMosttop();//设置窗口为最顶端居中显示
  1. void CGkbc8Dlg::MoveWindowToMosttop()
  2. {
  3.         CRect rect;
  4.         GetWindowRect(rect);
  5.         int x = (GetSystemMetrics(SM_CXSCREEN)-rect.Width())/2;
  6.         int y= (GetSystemMetrics(SM_CYSCREEN)-rect.Height())/2;
  7.         SetWindowPos(&wndTopMost,x,y,rect.Width(),rect.Height(),SWP_NOREDRAW);
  8. }
复制代码
我们来演示功能实现过程

源码及视频下载
(仅在电脑可见)
请点击此处下载

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

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

文件名称:35.上位机VC MFC实现程序最顶端显示.rar 
文件大小:123.35 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

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

  

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

  

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



回复

使用道具 举报

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