当前位置: 首页 > 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)));}

 

相关文章:

  • 创建thinkphp项目并配置数据库
  • 微服务架构中的多进程通信--内存池、共享内存、socket
  • Java期末总复习 编程题(偏基础)
  • Python数据可视化再探——Matplotlib模块 之一
  • Unity入门学习(四)3D数学(4)之四元数Quaternion
  • python新手学习笔记①
  • Vue2到Vue3迁移问题解析
  • uniapp-商城-63-后台 商品列表(分类展示商品的删除)
  • GO语言学习(六)
  • Python实战:打造一个功能完整的单位转换器(长度/温度/货币)
  • 5.20打卡
  • 解决git中断显示中文为八进制编码问题
  • StreamSaver实现大文件下载解决方案
  • 基于R语言的贝叶斯网络建模:生态与环境因果推断实践
  • Linux网络编程:广播、组播与原始套接字
  • DAY31
  • 电力设备智能化方案复盘
  • AI筑基,新质跃升|英码科技亮相华为广东新质生产力创新峰会,发布大模型一体机新品,助力产业智能化转型
  • Y1大型游乐设施修理作业包含哪些
  • win10使用nginx做简单负载均衡测试
  • 中沙深化多领域合作,达成60余项共识
  • 工程院院士、武汉纺织大学校长徐卫林拟任湖北省属本科高校党委书记
  • 集齐中国泳坛“老中青”!200自潘展乐力压汪顺、孙杨夺冠
  • 王毅同丹麦外交大臣拉斯穆森会谈
  • 国家统计局:4月全国规模以上工业增加值同比增长6.1%
  • 国新办10时将举行新闻发布会,介绍4月份国民经济运行情况