MFC導出對話框類DLL的實現

1.新建基于對話框的應用程序
這里寫圖片描述
這里寫圖片描述
2.新建MFC DLL工程
這里寫圖片描述
3.選擇MFC DLL
這里寫圖片描述
4.選擇擴展Dll選項(重要!!!)
這里寫圖片描述
5.為Dll工程添加一個MFC類,基類為CDialogEx
這里寫圖片描述
這里寫圖片描述
6.Dll新建的MFC 類中添加resource.h防止編譯出錯(應為新建了一個對話框資源)
這里寫圖片描述
7.將類導出
這里寫圖片描述
8.編譯Dll,生成Dll文件和Lib文件,將相應頭文件和剛生成的Dll和Lib Copy到測試的應用程序目錄,并在應用程序工程中包含相應頭文件,和添加Lib的目錄,在對話框中添加一個按鈕,添加響應消息,在響應消息函數中添加Dll中的Dlg
這里寫圖片描述
9.編譯,運行,效果如下
這里寫圖片描述
在MFC動態鏈接庫中導出全局函數時的做法如下:
在dll相應的頭文件中定義申明導出函數:

extern "C" void __declspec(dllexport) XXX(int i);
  • 1

在cpp文件中定義函數:

void XXX(int i)
{CString str;str.Format(_T("傳遞的參數是%d。"), i);MessageBox(NULL, _T("sss"), _T("ssss"), 0);
}

編譯后將相應的.lib文件copy到測試應用程序的代碼目錄下(重要!!!不然靜態調用時會鏈接出錯)
在調用者中:

#pragma comment(lib,"MFCLibrary1")  
extern "C" void __declspec(dllimport) XXX(int i);
void CMFCDllTestAppDlg::OnBnClickedButton1()
{// TODO: Add your control notification handler code hereint i = 1000;XXX(i);}

效果如下:
這里寫圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254566.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254566.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254566.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

中國如何引進CMM評估,促進軟件產業發展

北京軟件行業協會 (本文轉載自軟件工程專家網www.21cmm.com) 一、CMM的含義及作用   CMM(軟件能力成熟度模型:Capability Maturity Model For Software)是由美國卡內基梅 隆大學的軟件工程研究所(SEI&a…

關于游戲平衡性——王者榮耀英雄傷害數值參考

收集王者榮耀各個英雄的裝備對技能增加的百分比,這樣的主要目的為保證游戲的平衡性。對于技能主要包括:血量、物理攻擊、法術攻擊、物理穿透、法術穿透、暴擊等。關于各個裝備,已經列成一張excel表格,在這里不再詳細描述表格。在這…

Swift-setValuesForKeysWithDictionary

重寫 setValuesForKeysWithDictionary 那么字典中可以有的字段在類中沒有對應屬性 class Person : NSObject {var age :Int 0 // 重寫 setValuesForKeysWithDictionary 那么字典中可以有的字段在類中沒有對應屬性override func setValuesForKeysWithDictionary(keyedValues…

hdu 1269 迷宮城堡(trajan判環)

題目鏈接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1269 題意&#xff1a;略 題解&#xff1a;trajan模版直接求強連通分量。 #include <iostream> #include <cstring> #include <cstdio> using namespace std; const int N 1e4 10; const i…

Arithmetic圖像處理halcon算子持續更新

目錄abs_diff_imageabs_imageacos_imageadd_imageasin_imageatan2_imageatan_imagecos_imagediv_imageexp_imagegamma_imageinvert_imagelog_imagemax_imagemin_imagemult_imagepow_imagescale_imagesin_imagesqrt_imagesub_imagetan_imageabs_diff_image 功能&#xff1a;計算…

身于“亂世”,我們程序員應該如何打算?

今天看了這篇文章&#xff0c; 發現自己也有點生處亂世&#xff0c;不平之感&#xff0c;但是文章的樸實卻讓我有了一個良好的反省&#xff0c;特此轉載 分類&#xff1a; 項目管理 2011-09-04 00:58 770人閱讀 評論(12) 收藏 舉報 不僅要低頭拉車&#xff0c;還要抬頭看路。…

Activity的啟動流程

Activity的啟動流程 努力工作 自己平時工作接觸的frameworks代碼比較多&#xff0c;但真正理解的很有限&#xff0c;一直在努力分析。。我主要還是用補丁的形式來看 core/java/android/app/Activity.java | 6 core/java/android/app/ActivityManagerNative.jav…

es6--箭頭函數

基本用法 ES6允許使用“箭頭”&#xff08;>&#xff09;定義函數。 var f v > v; 上面的箭頭函數等同于&#xff1a; var f function(v) {return v; }; 如果箭頭函數不需要參數或需要多個參數&#xff0c;就使用一個圓括號代表參數部分。 var f () > 5; // 等同于…

halcon Bit圖位像素處理算子,持續更新

目錄bit_andbit_lshiftbit_maskbit_notbit_orbit_rshiftbit_slicebit_xorbit_and 功能&#xff1a;輸入圖像的所有像素的逐位與。 bit_lshift 功能&#xff1a;圖像的所有像素的左移。 bit_mask 功能&#xff1a;使用位掩碼的每個像素的邏輯與。 bit_not 功能&#xff1…

NYOJ題目839合并

--------------------------- AC代碼&#xff1a; 1 import java.util.Scanner;2 3 public class Main {4 5 public static void main(String[] args) {6 7 8 Scanner scnew Scanner(System.in);9 10 int timessc.nextInt(); 11 …

指針的魅力

序 指針說&#xff1a;love me&#xff0c;love me&#xff01; 但是他對指針說&#xff1a;I hate u&#xff0c;I hate u&#xff01; …… 指針僅僅是作為指針&#xff0c;我們可以把它當做有用的工具&#xff0c;為我們提供便利與好處。說起工具不得不讓我想起一樣東西—…

python多進程

2019獨角獸企業重金招聘Python工程師標準>>> python多進程 進程簡介 進程是程序在計算機上的一次執行活動。當你運行一個程序&#xff0c;你就啟動了一個進程。顯然&#xff0c;程序是死的(靜態的)&#xff0c;進程是活的(動態的)。進程可以分為系統進程和用戶進程。…

halcon彩色圖像顏色處理算子,持續更新

目錄apply_color_trans_lutcfa_to_rgbtrans_to_rgbclear_color_trans_lutcreate_color_trans_lutgen_principal_comp_translinear_trans_colorprincipal_comprgb1_to_grayrgb3_to_graytrans_from_rgbapply_color_trans_lut 功能&#xff1a;申請使用顏色查找表。 cfa_to_rgb …

奪命雷公狗---node.js---20之項目的構建在node+express+mongo的博客項目5mongodb在項目中實現添加數據...

我們上一步就引入了mongodb了&#xff0c;那么下一步就要開始寫添加數據了&#xff0c;不過有個前提是先將表單的數據處理好&#xff1a; 最基本的這部現在已經成功了&#xff0c;因為最基本的這步就是先將表單處的提交方式和提交地址給處理好&#xff0c;這里和PHP的基本上是一…

重新綁定ItemsSource先設置ItemsSource = null;的原因

即報錯信息為&#xff1a;在使用 ItemsSource 之前&#xff0c;項集合必須為空。原因&#xff1a;Items和ItemSource&#xff0c;只能有一個生效&#xff0c;想用其中一個&#xff0c;另一個必須是空。重新綁定ItemSource&#xff0c;雖然綁定的集合對象Clear了&#xff0c;但是…

敏捷開發學習

Scrum 敏捷開發&#xff0c;績效管理&#xff0c;團隊管理&#xff0c;企業管理&#xff0c;ASP.net MVC 敏捷開發 培訓|咨詢 工具開發 課題研討 http://blog.csdn.net/cheny_com/article/category/794542 http://blog.csdn.net/vincetest/article/category/650747 http://blog…

Git commit后,本地代碼丟失解決方法

問題描述&#xff1a; 提交代碼時&#xff0c;rebase了兩次&#xff0c;本地代碼丟失了&#xff0c;嚇得我差點跳起來。解決方法如下&#xff1a; 1、執行命令&#xff1a; git reflog d6ea731 (HEAD -> dev, origin/dev, master) HEAD{0}: checkout: moving from master to…

Edges圖像邊緣處理halcon算子,持續更新

目錄close_edgesclose_edges_lengthderivate_gaussdiff_of_gaussedges_coloredges_color_sub_pixedges_imageedges_sub_pixfrei_ampfrei_dirhighpass_imageinfo_edgeskirsch_ampkirsch_dirlaplacelaplace_of_gaussprewitt_ampprewitt_dirrobertsrobinson_amprobinson_dirsobel_…

Android存儲數據方式

可以查看Android開發文檔中的&#xff1a;/docs/guide/topics/data/data-storage.html Android provides several options for you to save persistent application data. The solution you choose depends on your specific needs, such as whether the data should be privat…

防止cpu 一直被占用 sleep(0) 和 yield

在java的Thread類中有兩個有用的函數&#xff0c;sleep和yield&#xff0c;sleep就是線程睡眠一定的時間&#xff0c;也就是交出cpu一段時間&#xff0c;yield用來暗示系統交出cpu控制權。這兩個函數在多線程開發的時候特別有用&#xff0c;可以合理的分配cpu&#xff0c;提高程…