动态链接库(MFC动态链接库)的建立与使用

动态链接库(MFC动态链接库)的建立与使用
动态链接库的创建以四则运算建立动态链接库为例:新建动态链接库,在工程目录下选择MFC AppXizard(dll),输入工程名make_Dynamic_Link_Library,选择工程位置。确定后选择动态链接库使用共享MFC DLL,点击完成进入项目。进入工程后新建窗口Dialog(ID:IDD_GETRESULT),并以此为基类新建类(CGetResult)。对窗口进行布局:对CGetResult类对应的源文件与头文件进行编写,实现需要的操作:GetResult.cpp:// GetResult.cpp : implementation file//#include"stdafx.h"#include"make_Dynamic_Link_Library.h"#include"GetResult.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif/////////////////////////////////////////////////////////////////////////////// CGetResult dialogCGetResult::CGetResult(CWnd*pParent/*=NULL*/):CDialog(CGetResult::IDD,pParent){//{ {AFX_DATA_INIT(CGetResult)m_combo=0;m_edit1=0.0;m_edit2=0.0;m_edit3=0.0;//}}AFX_DATA_INIT}voidCGetResult::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{ {AFX_DATA_MAP(CGetResult)DDX_CBIndex(pDX,IDC_COMBO,m_combo);DDX_Text(pDX,IDC_EDIT1,m_edit1);DDX_Text(pDX,IDC_EDIT2,m_edit2);DDX_Text(pDX,IDC_EDIT3,m_edit3);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CGetResult,CDialog)//{ {AFX_MSG_MAP(CGetResult)ON_WM_CLOSE()//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CGetResult message handlersvoidCGetResult::OnClose(){// TODO: Add your message handler code here and/or call defaultCDialog::OnClose();}voidCGetResult::OnCancel(){// TODO: Add extra cleanup hereOnClose();CDialog::OnCancel();}voidCGetResult::OnOK(){// TODO: Add extra validation hereUpdateData(TRUE);if(m_combo==0)m_edit3=m_edit1+m_edit2;elseif(m_combo==1)m_edit3=m_edit1-m_edit2;elseif(m_combo==2)m_edit3=m_edit1*m_edit2;elseif(m_combo==3)m_edit3=m_edit1/m_edit2;