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
}

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章