当前位置: 首页 > ops >正文

duiLib 实现鼠标拖动状态栏时,窗口跟着拖动

1、布局文件,窗口需设置可拖动的标题栏区域:

2、HandleMessage函数中,处理WM_LBUTTONDOWN消息,判断鼠标在标题栏,让系统处理窗口移动。代码片段如下:

else if (uMsg == WM_LBUTTONDOWN) {// 获取鼠标点击坐标POINT pt = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) };//ScreenToClient(m_hWnd, &pt); // 已经是客户区坐标了,不需要这一步转换// 找到标题栏控件CControlUI* pTitleBar = m_pm.FindControl(_T("title_bar"));if (pTitleBar) {// 判断鼠标点击是否在标题栏控件范围内RECT rcTitle = pTitleBar->GetPos();if (PtInRect(&rcTitle, pt)) {// 发送消息让系统处理窗口移动::SendMessage(m_hWnd, WM_SYSCOMMAND, SC_MOVE | HTCAPTION, 0);return 0;}}
}

运行, 鼠标点击拖动窗口标题栏时, 窗口也跟着被拖动。测试ok. 

但是发现,点击标题栏按钮不响应了,估计是事件冲突了,后面再研究下。

http://www.xdnf.cn/news/17924.html

相关文章:

  • webrtc弱网-VideoSendStreamImpl类源码分析与算法原理
  • 《Leetcode》-面试题-hot100-技巧
  • 嵌入式硬件篇---常见的单片机型号
  • 按键及消抖
  • Python环境下载安装、以及环境配置教程(Windows版)
  • java项目怎么实现用户行为分析、漏斗转化、数据可视化报表。
  • C语言零基础第18讲:自定义类型—结构体
  • 楼宇自控系统赋能建筑全维度管理,实现环境、安全与能耗全面监管
  • [Oracle数据库] Oracle 复杂查询
  • 当 GitHub 宕机时,我们如何协作?
  • Flink Sql 按分钟或日期统计数据量
  • 从 “视频孪生” 到 “视频动态目标三维重构”:技术演进与核心突破
  • PHP域名授权系统网站源码_授权管理工单系统_精美UI_附教程
  • 基于W55MH32Q-EVB 实现 HTTP 服务器配置 OLED 滚动显示信息
  • 企业级Java项目金融应用领域——银行系统
  • 【P40 6-3】OpenCV Python——图像融合(两张相同属性的图片按比例叠加),addWeighted()
  • B3924 [GESP202312 二级] 小杨的H字矩阵
  • Java后台生成多个Excel并用Zip打包下载
  • 《Python学习之字典(一):基础操作与核心用法》
  • 基于 EC 数据与大模型技术实现天气预报:从数据到上线的全栈方法
  • 学习嵌入式第三十天
  • C++进阶:IO流
  • 【Vibe Coding 工程之 StockAnalyzerPro 记录】- EP3.Phase 2股票列表管理功能
  • JCTools 无锁并发队列基础:ConcurrentCircularArrayQueue
  • TDengine IDMP 高级功能(4. 元素引用)
  • C# 反射和特性(关于应用特性的更多内容)
  • 解锁JavaScript性能优化:从理论到实战
  • C#WPF实战出真汁09--【消费开单】--选择菜品
  • 一次性能排查引发的Spring MVC深度思考
  • Element Plus 中 el-input 限制为数值输入的方法