上一篇:《Windows 程序设计》学习笔记(四) >>
如何按非客户区移动窗体
如何按非客户区移动窗体
我曾在VCKBSAE上看到一介绍如何按非客户区移动窗体,既重载WM_NCHITTEST,返回HTCAPTION。但我认为有一点不妥就是没有了鼠标右键功能。这里我介绍一种方法,即可已在客户区移动窗体又可以实现鼠标右键功能。 1、新建一工程DLG。采用默认设置。 2、添加消息处理函数: void CDlgDlg::OnLButtonDown(UINT nFlags, CPoint point) { PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,pointy)); CDialog::OnLButtonDown(nFlags, point); } 3、添加右键功能。已实现鼠标右键功能 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); } 其它实现细节请参见源代码。 |
下一篇:仿制金山毒霸专杀工具界面 >>
相关文章:
- · XP风格复活节彩蛋的实现
- · 程序界面多模式显示的实现
- · 改变视图单调的背景
- · 使窗体拥有透明效果的API
- · 《电子尺》V1.02程序开发实例
- · 美化你的应用程序的外观界面
- · 个人考勤软件开发实例
- · 使用VC6.0实现窗口的任意分割
- · 如何让一个打开的文档成为活动文档
- · 创建非矩形窗口的简单方法
- · 轻松实现类VC界面
- · 视图的缩放的完整论述
- · 如何获得另一个应用程序窗口中的文本
- · 如何发送命令到文档对象
- · World space 到 Page space 的转换简介
- · VC实现自绘图形输出到bmp文件
- · VC++游戏开发:五子棋
- · 利用VC++开发ASP图像处理组件(二)
- · 利用VC++开发ASP图像处理组件(一)
- · 仿 Windows 自带扫雷的小程序
- · 我该使用何种语言
- · 定时显示远程计算机的桌面
- · 老调重提,利用SDK实现智能五子
- · 利用 DirectShow 开发自己的 Filter
- · 点对点视频会议程序:VideoNet
- · 使用GDI+在内存中转换图片类型
- · 视频采集
- · VC实现波形不闪烁动态绘图
- · 图像与文字的合成
- · 一款简单的RPG游戏
- · 一个简单字体察看器的实现
- · 实时语音通信的实现
- · VC中的图象打印问题
- · 通用图像类算法扩充库
- · 自己写 FILTER 改变画面颜色
- · 模拟 Windows 开机动态色带条
- · C++实现CD抓轨转WAV
- · 具有多种动态效果的闪屏
