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

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.lryc.cn/news/623279.html

相关文章:

  • Vue 3.5重磅更新:响应式Props解构,让组件开发更简洁高效
  • 分享一个Oracle表空间自动扩容与清理脚本
  • CPP多线程3:async和future、promise
  • MATLAB基础训练实验
  • 超越“调参”:从系统架构师视角,重构 AI 智能体的设计范式
  • 深度剖析Redisson分布式锁项目实战
  • 【数据分享】大清河(大庆河)流域上游土地利用
  • AutoDL使用学习
  • K8s核心组件全解析
  • 服务器配置开机自启动服务
  • GEEPython-demo1:利用Sentinel-2监测北京奥林匹克森林公园2024年NDVI变化(附Python版)
  • [CSP-J2020] 方格取数
  • Vue组件生命周期钩子:深入理解组件的生命周期阶段
  • Vue 3.5+ Teleport defer 属性详解:解决组件渲染顺序问题的终极方案
  • 【P14 3-6 】OpenCV Python——视频加载、摄像头调用、视频基本信息获取(宽、高、帧率、总帧数)
  • ESP32-S3_ES8311音频输出使用
  • CSS 核心知识点全解析:从基础到实战应用
  • 探索粒子世界:从基础理论到前沿应用与未来展望
  • 主从复制+哨兵
  • 【论文阅读】Multimodal Graph Contrastive Learning for Multimedia-based Recommendation
  • List容器:特性与操作使用指南
  • 《设计模式》代理模式
  • Java 9 新特性及具体应用
  • 什么是微前端?
  • XC6SLX45T-2FGG484C Xilinx AMD Spartan-6 FPGA
  • 两个简单的设计模式的例子
  • [Linux] Linux文件系统基本管理
  • 没学过音乐怎么写歌?豆包 + 蘑兔
  • Python Condition对象wait方法使用与修复
  • 《设计模式》装饰模式