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

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/18163.html

相关文章:

  • K8s核心组件全解析
  • 产品设计.原型设计
  • 嵌入式 Linux LED 驱动开发实验
  • SpringBoot 整合 Langchain4j:系统提示词与用户提示词实战详解
  • EP1C12F324I7N Altera Cyclone FPGA
  • Python 读取 CSV 文件并删除前五列
  • [安洵杯 2019]Attack
  • Win11更新0x80073712错误解决方法
  • Java 中重载与重写的全面解析(更新版)
  • vscode的使用
  • 10.从开始写LINUX内核——时钟中断
  • 12分区南排烟机,多线模块没电
  • nflsoi 8.16 题解
  • day42_2025-08-16
  • Windows MCP.Net:基于.NET的Windows桌面自动化MCP服务器深度解析
  • 第3章现象表:比较顺序表和链表
  • 记录 GMS 认证相关条件
  • Leetcode 14 java
  • A*寻路算法:原理、实现与优化指南
  • 【Java笔记】synchronized
  • SpringBoot学习日记(九)
  • 游戏客户端性能测试总结
  • 【渗透实战】无下载器环境(curl/wget)下玩转 Metasploit 自动利用
  • [创业之路-550]:公司半年度经营分析会 - 解决方案汇总
  • “preinstall“: “npx only-allow pnpm“
  • WrenAI部署,解决发送消息报错:failed to create asking task
  • Day15 Docker
  • Java设计模式详细解读
  • uv - 基本使用
  • 三天速通 Vue+Flask+SQLite 项目+阿里云轻量应用级服务器【宝塔面板】②