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

server/2024/10/21 18:45:18/

一、创建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


http://www.ppmy.cn/server/110333.html

相关文章

如何基于numpy和scipy实现曲面的最大梯度计算与显示

大家在做三维可视化研究过程中,经常需要做三维曲面的绘制和相交分析,在不知道三维曲面方程的情况下,如何基于曲面散点数据计算曲面的最大梯度点和梯度线的三维可视化是大家基于曲面分析研究中的重点关注的问题,本文在python环境下,基于numpy、pandas、scipy和matplotlib等…

C++编辑器安装

一.好的编辑器 1.Dev-C 2.CLion #建议使用Dev-C 安装请自己找教程,这里只是推荐 二.Dev-C的使用 选择 文件->新建->源代码 即可新建源代码 点击"编译运行"可运行

国内招聘市场发展历程

大数据、人工智能与社交媒体深度融合,传统招聘网站用户粘性低、信息传播效率低、招聘成本开支大、平台运营与宣传成本高昂,返利招聘或许是一种创新性的解决方案。本文将以蜂媒招聘网为例,深入探讨返利招聘模式的社群属性、用户粘度属性及自助…

docker数据卷及数据卷容器

docker数据卷及数据卷容器 1、数据卷 数据卷:简称volume,用于docker容器内文件及数据的持久化。 持久化:在容器内创建的文件及数据仅在容器的生命周期内有效,当容器被删除后,文件及数据也随之丢失。持久化可以帮助把…

搭建IPsec VPN隧道解决PLC设备与主控上位机无法使用公网IP进行通信的问题

问题描述 按照初设规定,每个工程点位都要安装一条具有独立公网IP的光纤专线,供该点位的视频监控设备、水质监测设备及PLC设备与外界进行通信。而在项目开发前期并没有意识到,组态软件(上位机)无法通过公网IP地址连接PLC,导致在交…

用MATLAB 画一个64QAM的星座图

由于QAM采用幅度和相位二维调制,其频谱效率大大提高,而且不同点的欧式距离也要大于调幅AM调制方式,QAM也是LTE和5G NR首选的调制方式,本期教大家画一个64QAM的星座图。 如下: 首先产生一个64QAM的调制数据&#xff0…

贪心算法---单调递增的数字

题目&#xff1a; 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 思路&#xff1a; 对于非递增的相邻位两个数字x和y&#x…

23种设计模式之模板模式

一.什么是模板模式 ‌‌模板模式是一种行为型设计模式&#xff0c;它定义了一个算法的骨架&#xff0c;而将一些步骤留给子类实现。‌这种模式允许子类在不改变算法结构的基础上&#xff0c;重新定义算法的某些步骤。模板模式属于行为型设计模式&#xff0c;主要用于处理那些需…