C++类导出动态库 mfc 对话框导出 动态库 BCG对话框导出 动态库

1、

头文件

#pragma once

#include "afxwin.h"

#include "resource.h"

// cDlgDll 对话框

class _declspec(dllexport) cDlgDll : public CDialogEx

{

DECLARE_DYNAMIC(cDlgDll)

public:

cDlgDll(CWnd* pParent = NULL);   // 标准构造函数

virtual ~cDlgDll();

// 对话框数据

enum { IDD = IDD_DIALOG1 };

protected:

virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

DECLARE_MESSAGE_MAP()

public:

unsigned long m_num;

virtual BOOL OnInitDialog();

afx_msg void OnBnClickedOk();

};

源文件

// cDlgDll.cpp : 实现文件

//

#include "stdafx.h"

#include "cDlgDll.h"

#include "afxdialogex.h"

// cDlgDll 对话框

IMPLEMENT_DYNAMIC(cDlgDll, CDialogEx)

cDlgDll::cDlgDll(CWnd* pParent /*=NULL*/)

: CDialogEx(cDlgDll::IDD, pParent)

, m_num(0)

{

}

cDlgDll::~cDlgDll()

{

}

void cDlgDll::DoDataExchange(CDataExchange* pDX)

{

CDialogEx::DoDataExchange(pDX);

DDX_Text(pDX, IDC_EDIT1, m_num);

}

BEGIN_MESSAGE_MAP(cDlgDll, CDialogEx)

ON_BN_CLICKED(IDOK, &cDlgDll::OnBnClickedOk)

END_MESSAGE_MAP()

// cDlgDll 消息处理程序

BOOL cDlgDll::OnInitDialog()

{

UpdateData( FALSE );

return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE

}

void cDlgDll::OnBnClickedOk()

{

UpdateData( TRUE );

CDialogEx::OnOK();

}

2、mfc对框框导出成动态库

头文件

#pragma once

#include "afxwin.h"

#include "resource.h"

// cDlgDll 对话框

class _declspec(dllexport) cDlgDll : public CDialogEx

{

DECLARE_DYNAMIC(cDlgDll)

public:

cDlgDll(CWnd* pParent = NULL);   // 标准构造函数

virtual ~cDlgDll();

// 对话框数据

enum { IDD = IDD_DIALOG1 };

protected:

virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

DECLARE_MESSAGE_MAP()

public:

unsigned long m_num;

virtual BOOL OnInitDialog();

afx_msg void OnBnClickedOk();

};

源文件

// cDlgDll.cpp : 实现文件

//

#include "stdafx.h"

#include "cDlgDll.h"

#include "afxdialogex.h"

// cDlgDll 对话框

IMPLEMENT_DYNAMIC(cDlgDll, CDialogEx)

cDlgDll::cDlgDll(CWnd* pParent /*=NULL*/)

: CDialogEx(cDlgDll::IDD, pParent)

, m_num(0)

{

}

cDlgDll::~cDlgDll()

{

}

void cDlgDll::DoDataExchange(CDataExchange* pDX)

{

CDialogEx::DoDataExchange(pDX);

DDX_Text(pDX, IDC_EDIT1, m_num);

}

BEGIN_MESSAGE_MAP(cDlgDll, CDialogEx)

ON_BN_CLICKED(IDOK, &cDlgDll::OnBnClickedOk)

END_MESSAGE_MAP()

// cDlgDll 消息处理程序

BOOL cDlgDll::OnInitDialog()

{

UpdateData( FALSE );

return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE

}

void cDlgDll::OnBnClickedOk()

{

UpdateData( TRUE );

CDialogEx::OnOK();

}

3、BCG 对话框 导出 DLL

头文件

#pragma once

#include "resource.h"

#include "BCGPDialog.h"

// CbcgDll 对话框

class _declspec(dllexport) CbcgDll : public CBCGPDialog

{

DECLARE_DYNAMIC(CbcgDll)

public:

CbcgDll(CWnd* pParent = NULL);   // 标准构造函数

virtual ~CbcgDll();

// 对话框数据

enum { IDD = IDD_DIALOG1 };

protected:

virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

DECLARE_MESSAGE_MAP()

BOOL OnInitDialog();

};

源文件

// CbcgDll.cpp : 实现文件

//

#include "stdafx.h"

#include "CbcgDll.h"

//#include "afxdialogex.h"

// CbcgDll 对话框

IMPLEMENT_DYNAMIC(CbcgDll, CBCGPDialog)

CbcgDll::CbcgDll(CWnd* pParent /*=NULL*/)

: CBCGPDialog(CbcgDll::IDD, pParent)

{

}

CbcgDll::~CbcgDll()

{

}

void CbcgDll::DoDataExchange(CDataExchange* pDX)

{

CBCGPDialog::DoDataExchange(pDX);

}

BEGIN_MESSAGE_MAP(CbcgDll, CBCGPDialog)

END_MESSAGE_MAP()

// CbcgDll 消息处理程序

BOOL CbcgDll::OnInitDialog()

{

CBCGPDialog::OnInitDialog();

EnableVisualManagerStyle( TRUE, TRUE );

return TRUE;  // return TRUE  unless you set the focus to a control

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容