博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何按非客户区移动窗体
阅读量:7024 次
发布时间:2019-06-28

本文共 655 字,大约阅读时间需要 2 分钟。

我曾看到一介绍如何按非客户区移动窗体,既重载WM_NCHITTEST,返回HTCAPTION。但我认为有一点不妥就是没有了鼠标右键功能。这里我介绍一种方法,即可已在客户区移动窗体又可以实现鼠标右键功能。

新建一工程DLG。采用默认设置。

添加消息处理函数:

 
void CDlgDlg::OnLButtonDown(UINT nFlags, CPoint point) {    PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,pointy));    CDialog::OnLButtonDown(nFlags, point);}

添加右键功能。已实现鼠标右键功能

 
void CDlgDlg::OnRButtonDown(UINT nFlags, CPoint point) {   CMenu menu,*sub;   menu.LoadMenu(IDR_MENU1);   sub=menu.GetSubMenu(0);   ClientToScreen(&point);   sub->TrackPopupMenu(TPM_RIGHTBUTTON,point.x,point.y,this);   CDialog::OnRButtonDown(nFlags, point);}

其它实现细节请参见源代码。

转载于:https://www.cnblogs.com/rogee/archive/2011/03/31/2000467.html

你可能感兴趣的文章
搜索服务solr 一二事(1) - solr-5.5 使用自带Jetty或者tomcat 搭建单机版搜索服务器...
查看>>
Mac mysql 解决中文乱码
查看>>
8.16. config
查看>>
I.MX6 console 跳过 login
查看>>
ASP.NET 5 (vNext) 理解和概述
查看>>
第 44 章 LevelDB
查看>>
Java实现文件复制的四种方式
查看>>
使用数据库sqlite3 C语言实现登陆注册的功能
查看>>
[LeetCode] Distinct Subsequences
查看>>
Android gif 录屏
查看>>
51Nod 1277 字符串中的最大值(KMP,裸题)
查看>>
docker~windows版本的安装与使用
查看>>
eclipse集承jboss服务器
查看>>
Web APi之认证(Authentication)两种实现方式后续【三】(十五)
查看>>
如何建设高可用系统
查看>>
用户中心系统设计
查看>>
创建索引的两种方式比对
查看>>
阿里云计算公司总部开建 2021年竣工
查看>>
详解go语言的array和slice 【一】
查看>>
Microsoft Store 开发者分成已涨到 95%
查看>>