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

C++ QT 与 win32 窗口可以互操作


MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);this->setWindowTitle("天下第一剑");
//    HWND hwnd = FindWindow(L"天下第一剑",L"天下第一剑");
//    qDebug()<<hwnd;EnumWindows([](HWND hwnd, LPARAM lParam)->WINBOOL{qDebug() <<hwnd;WCHAR title[100];GetWindowText(hwnd,title,100);qDebug() << QString::fromWCharArray(title);},0);WCHAR title[100];GetWindowText((HWND)this->winId(),title,100);qDebug() << QString::fromWCharArray(title);auto wndProc = [](HWND hwnd,UINT uMsg,WPARAM p1,LPARAM p2)->LRESULT{//lambda的局部变量必须定义在最前面否则报错,//是不是与switch有关?PAINTSTRUCT ps;RECT rect;HDC hdc;switch (uMsg) {case WM_PAINT:hdc = BeginPaint(hwnd,&ps);GetClientRect(hwnd,&rect);DrawText(hdc,L"天下无敌的 天剑术",-1,&rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);EndPaint(hwnd,&ps);break;case WM_QUIT:PostQuitMessage(0);break;case WM_DESTROY:PostQuitMessage(0);break;default:break;}return DefWindowProc(hwnd, uMsg, p1, p2);};//有点问题这个强转 lambda => funptr => longSetWindowLongPtr((HWND)this->winId(),GWLP_WNDPROC,reinterpret_cast<LONG_PTR>(static_cast<LRESULT(*)(HWND, UINT, WPARAM, LPARAM)>(wndProc)));}

 

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

相关文章:

  • HarmonyOS5云服务技术分享--ArkTS开发函数
  • SpringBootDay1|面试题
  • 环特生物董事长汤珣、执行总经理张勇赴白云美湾国际化妆品研究院集群考察调研
  • ES6核心特性与语法
  • HarmonyOS5云服务技术分享--ArkTS调用函数
  • DAY 30 超大力王爱学Python
  • 2025最新的自动化测试面试题【答案+文档】
  • protobuf原理和使用
  • 接口测试速成指南:基础知识+工具使用全解析
  • 如何使用通义灵码提高前端开发效率
  • 2W+安全事件警示:10次数据泄露,6次与“人”有关
  • GESP2024年12月认证C++二级( 第三部分编程题(1)寻找数字)
  • [python] 轻量级定时任务调度库schedule使用指北
  • 阿里云百炼(1) : 阿里云百炼应用问答_回答图片问题_方案1_提问时上传图片文件
  • 一文深度解析:Pump 与 PumpSwap 的协议机制与技术差异
  • 如何理解大模型的幻觉输出及RAG技术的应用与实战案例
  • 批量替换文字
  • ArcObjects学习教程
  • JAVA基础——输入输出和运算符
  • 迪杰斯特拉
  • RGB-D数据集汇总(2025年05月更新....)
  • 差动讯号(2):奇模与偶模
  • Python日志功能的使用
  • vue+three.js 五彩烟花效果封装+加载字体
  • AI一周事件(2025年5月13日-5月19日)
  • 外部因素导致的 ADC误差来源分析
  • 苍穹外卖04 新增菜品菜品分页查询删除菜品修改菜品
  • C语言经典面试题及答案100道
  • 思维模型和法则
  • WHAT - CSS 中的 min-width