DLL中添加对话框, 并被外部程序调用显示

本文详细介绍了如何在Visual Studio中创建解决方案,继而在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对话框的调用

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值