栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

MFC动态链接库弹窗

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MFC动态链接库弹窗

目录

一、创建主程序

二、添加MFC动态链接库

三、引用动态链接库

四、编译运行


一、创建主程序

 这里使用VS2019进行演示。

创建MFC应用,项目名称为MainProgram

 应用程序类型为“基于对话框”

 完成后删除原有控件,再添加一个按钮,双击添加一个响应函数

二、添加MFC动态链接库

右击解决方案,添加,新建项目,选择MFC动态链接库

 项目名称为DllDlg

 点击创建后,DLL类型为“使用共享 MFC DLL的常规 DLL”,然后点击确定

给DllDlg添加对话框

 右击窗体,添加类,输入类名称“DlgWithShow”,点击确定

 在DlgWithShow.h中添加两个头文件

#include "framework.h"
#include "afxdialogex.h"

 在DllDlg的头文件中添加头文件“DlgFun.h”

加入如下代码:

#pragma once

_declspec(dllexport) void ShowDlg();

鼠标选中方法,按Alt+Enter组合键,再回车,生成ShowDlg的定义

DlgFun.cpp代码如下

#include "pch.h"
#include "DlgFun.h"
#include "DlgWithShow.h"

void ShowDlg()
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	DlgWithShow dlg;
	dlg.DoModal();
}

AFX_MANAGE_STATE(AfxGetStaticModuleState());这一句很重要,作用就是在这个dll中找对应的资源,如果没加这个,就会在主程序中找这个对话框,找不到,就不会弹窗了。

三、引用动态链接库

右击主项目,属性,在C/C++ -> 常规的附加包含目录中添加..DllDlg。用以引用DllDlg中的头文件

 在MainProgramDlg.cpp的文件中引用头文件

#include "DlgFun.h"

再添加如下代码

#pragma comment(lib, "..\Debug\DllDlg.lib")

_declspec(dllimport) void ShowDlg(); //这一行可以不加

对_declspec(dllexport)和_declspec(dllimport)不熟悉的可以参考这个

__declspec(dllexport) 和 __declspec(dllimport)的作用

在按钮的点击响应函数中添加弹窗

void CMainProgramDlg::OnBnClickedButton1()
{
	ShowDlg();
}

四、编译运行

选中解决方案,重新生成解决方案

运行后点击按钮,弹窗显示如下

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1037199.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号