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
}