IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> DLL中添加对话框 并被外部程序调用显示 -> 正文阅读

[开发工具]DLL中添加对话框 并被外部程序调用显示

1.VS 解决方案的创建

在这里插入图片描述
在这里插入图片描述
完成创建。
在这里插入图片描述

2.动态链接库(DLL)项目创建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完成dll项目,此时解决方案下有两个工程项目DLL_Dlg_Test 和 DLL_Dlg_Test_dll
在这里插入图片描述

3.在动态链接库项目中添加对话框及其对应的类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时在DLL_Dlg_Test_dll项目下,增加了LibDllDlgTest.h 和 LibDllDlgTest.cpp两个对话框对应的类文件.

在这里插入图片描述

4.在dll项目中其它类文件(如CShowDlg.cpp)中,创建对话框显示函数

首先新建CShowDlg类,生成CShowDlg.cpp和CShowDlg.h文件,用于创建对话框类对象,并显示对话框

(1)包含LibDllDlgRest对话框类的头文件LibDllDlgRest.h
(2)定义类对象并显示

void CShowDlg::ShowDlg()
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());  // 对话框能正常显示的关键语句
    LibDllDlgRest Obj;
    Obj.DoModal();
}

在这里插入图片描述

5.导出类,并被外部函数使用,显示dll中的对话框

(1)dll项目属性配置添加_LIB_EXPORT宏(宏名称任意)
在这里插入图片描述
(2)声明类导出

#ifdef _LIB_EXPORTS
#define LIB_API __declspec(dllexport)
#else
#define LIB_API __declspec(dllimport)
#endif // LIB_API
class LIB_API CShowDlg; //声明类导出
class CShowDlg
{
public:
    CShowDlg();
    ~CShowDlg();
public:
    void ShowDlg();
};

在这里插入图片描述
(3)编译生成.dll文件
在这里插入图片描述
(4)外部使用导出类
①在外部项目的对话框类中加载头文件和库链接

#include "../DLL_Dlg_Test_dll/CShowDlg.h"
#pragma comment(lib, "../Debug/DLL_Dlg_Test_dll.lib")    

在这里插入图片描述
②对外部项目对话框的确定按钮添加点击事件
在这里插入图片描述
③添加对话框显示程序

void DLL_Test_Dlg::OnBnClickedOk()
{
    // TODO: 在此添加控件通知处理程序代码
    CShowDlg Obj;
    Obj.ShowDlg();
    CDialog::OnOK();
}

在这里插入图片描述
(4)执行程序 弹出 外部对话框 → “确定” → 弹出“DLL对话框”,实现了DLL对话框的调用

在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:31:11  更:2022-04-04 12:34:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:46:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码