欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
一步一步實(shí)現MFC擴展DLL中導出類(lèi)和對話(huà)框

一步一步實(shí)現MFC擴展DLL中導出類(lèi)和對話(huà)框

作者:江上飛鳥(niǎo)


下載源代碼

  如果要編寫(xiě)模塊化的軟件,就要對對動(dòng)態(tài)鏈接庫(DLL)有一定的了解,本人這段時(shí)間在修改以前的軟件時(shí),決定把重復用的類(lèi)和對話(huà)框做到DLL中,下面就從一個(gè)簡(jiǎn)單的例子講起,如何實(shí)現MFC擴展DLL中導出類(lèi)和對話(huà)框。



一、創(chuàng )建MFC擴展DLL

步驟:

  • 運行Visual Studio 6.0->File->New...->Projects;
  • 選擇Mfc AppWizard(dll),在右邊Project name下輸入ExportClass,單擊“下一步”;
  • 選擇Mfc Extension DLL (using share MFC DLL) 單擊“finish”;

以上完成建立擴展DLL的框架,下面接著(zhù)建立輸出類(lèi):
Insert-> New Class...在打開(kāi)的對話(huà)框中,"Class Type" 選擇"Generic Class",Class Name 中輸入
CDogClass(當然你可以用其它的名稱(chēng),我喜歡小狗,所有用它了,在"Base Class"下輸入CObject,然后"OK";
為類(lèi)添加兩個(gè)測試用的變量 int m_nNum;CString m_sData;完全的類(lèi)信息如下:
DogClass.h頭文件:

class CDogClass : public CObject{private :   int m_nNum;   CString m_sData;public:   int ShowDlg();   void Init();   CDogClass();   virtual ~CDogClass();   void SetNum(int num) { m_nNum = num;};   int GetNum() { return m_nNum; };   void SetData(CString data) { m_sData = data;};   CString GetData() { return m_sData; };};
DogClass.cpp實(shí)現文件:
CDogClass::CDogClass(){   Init();}CDogClass::~CDogClass(){}void CDogClass::Init(){   m_nNum = 0;   m_sData = "";}      
編輯DogClass.h頭文件修改下面一行;
class AFX_EXT_CLASS CDogClass : public CObject

以上完成類(lèi)的建立,下面建立輸出對話(huà)框;
Insert-> Resouce...新建立一個(gè)對話(huà)框,添加兩個(gè)編輯框IDC_EDIT1,IDC_EDIT2,然后建立CDlgDog對話(huà)框類(lèi)并為兩編輯框添加int m_nNum和CString m_sData的變量。

在DogClass.cpp的#include "DogClass.h"下加入#include "DlgDog.h"

在DogClass類(lèi)中添加int ShowDlg();函數用來(lái)調用對話(huà)框,并在int CDogClass::ShowDlg()中添加如下代碼:

CDlgDog dlg;dlg.m_nNum = GetNum();dlg.m_sData = GetData();if (IDOK==dlg.DoModal()){    SetNum(dlg.m_nNum);    SetData(dlg.m_sData);    return 1;}return 0;		
然后編譯Dll,會(huì )發(fā)現有幾個(gè)錯誤,不用怕,好解決的,
首先,去掉DlgDog.cpp中的 #include “\ add additional includes here”這一行;其次,在stdax.h中加入include "resource.h",再編譯,OK。


二、建立DLL 測試程序

步驟:
新建一個(gè)基于對話(huà)框的MFC應用程序,添加一按鈕IDC_BUTTON1,并在按鈕事件中添加如如下代碼:
void CTestExportClassDlg::OnButton1(){   CDogClass dog;   dog.Init();   if (dog.ShowDlg()!=0)  {     CString str;     str.Format("Num is: %d Data is: %s" dog.GetNum(), dog.GetData());     AfxMessageBox(str);  }}		
從ExportClass文件目錄拷貝DogClass.h和ExportClass.lib文件到測試程序目錄下;

在TestExportClassDlg.cpp中加入#include “DogClass.h”行;往連接程序的導入庫中添加ExportClass.lib,在VS的Project->Settings下的Setting For選擇All Configuration.,然后在下面的頁(yè)面Object/Library Conttrol中加入ExportClass.lib;

別忘了把ExportClass.dll復制到系統目錄或當前應用程序目錄;然后編譯就OK了。

QQ:36201365
e-mail:ldh5118@sohu.com
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
MFC動(dòng)態(tài)鏈接庫和WIN32動(dòng)態(tài)鏈接庫 及區別
在MFC中,CString類(lèi)型如何轉化為const unsigned short * 類(lèi)型
string頭文件與cstring頭文件
用vs2010開(kāi)發(fā)基于VC++的MFC 串口通信一*****兩臺電腦同一個(gè)串口號之間的通信
vs2008 MFC 開(kāi)發(fā)問(wèn)題匯總
編程達人、愛(ài)達人
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久