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

Qt 调用MFC dll,动态库中有界面

一、创建MFC 动态库工程

下一步

创建

 

点击确定

二、创建接口

这个是系统创建的,改成自己的接口。

头文件:

#ifndef __WEB_ENGINE__
#define __WEB_ENGINE__#ifdef __cplusplus
extern "C" {
#endif__declspec(dllexport) bool __stdcall LoadUrl(const char* pUrl);#ifdef __cplusplus
}
#endif#endif

源文件:

#include "pch.h"
#include "WebView.h"
#include "ManageWebView.h"__declspec(dllexport) bool __stdcall LoadUrl(const char* pUrl)
{if (!pUrl) {return false;}AFX_MANAGE_STATE(AfxGetStaticModuleState());ManageWebView dlg;dlg.DoModal();return true;
}

截图:

三、mfc 动态库中创建界面

右击项目----》添加----》资源----》

选择对话框,点击新建

出现界面

四、给界面添加类,进行绑定 

右击界面----》选择添加类

点击确定。

在资源试图中打开界面

右击对话框,选择类向导,添加事件

 
 

五、解决编译报错

添加resource.h,解决IDD_DIALOG1无法识别的问题

六、 说明

QT调用模态对话框属于资源类,需要在导出函数中开头增加 

AFX_MANAGE_STATE(AfxGetStaticModuleState());

要不然会出现:

同时,该过程不支持WM_CREATE,同样的也不支持非模态调用,因为非模态调用会调用Create函数 pWidget->Create(IDD_DIALOG1, NULL),相当于非模态调用了WM_CREATE

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • windows C++ 并行编程-使用 Lambda 表达式
  • MYSQL数据库(四)
  • JavaScript学习文档(11):Window对象、本地存储、数组中一些方法、学生就业统计表案例
  • 15行为型设计模式——责任链模式
  • Java基础入门【第六章 static、继承、重写、多态】(二)
  • 数据合规性分析:守护信息安全的关键防线
  • MySQL的安装配置以及可视化工具的安装
  • 【拉取Git项目到本地,知识小记,后续再改】
  • 春秋云镜initial
  • 宏集MIRO-L230工业路由器: 一站式全球联网解决方案
  • C++ 图形框架 Duilib
  • UE5学习笔记18-使用FABRIK确定骨骼的左手位置
  • 安装vue-cli2.0并创建项目
  • 实习项目|苍穹外卖|day2
  • jenkins安装k8s插件发布服务
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • angular2开源库收集
  • Git学习与使用心得(1)—— 初始化
  • Java超时控制的实现
  • JAVA多线程机制解析-volatilesynchronized
  • java小心机(3)| 浅析finalize()
  • Nodejs和JavaWeb协助开发
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • vue 配置sass、scss全局变量
  • Vue2.0 实现互斥
  • 每天10道Java面试题,跟我走,offer有!
  • 每天一个设计模式之命令模式
  • 前端技术周刊 2019-01-14:客户端存储
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • #pragma pack(1)
  • $(function(){})与(function($){....})(jQuery)的区别
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (27)4.8 习题课
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • .gitignore文件—git忽略文件
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .net core 依赖注入的基本用发
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET Core引入性能分析引导优化
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NET 分布式技术比较
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)