久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

MFC規則DLL總結

時間:2019-05-12 11:56:34下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《MFC規則DLL總結》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《MFC規則DLL總結》。

第一篇:MFC規則DLL總結

MFC規則DLL總結

1、創建MFC規則DLL工程,生成XX.h, XX.cpp, XX.def文件,插入資源(對話框),生成類。

2、在XX.cpp 中添加ShowDlg函數,在該函數中定義對話框,顯示對話框,對話框所需要的參數由ShowDlg的形參傳遞。

3、在XX.def中添加:

EXPORTS

;此處可以是顯式導出

ShowDlg @14、編譯生成XX.dll文件

5、新建測試工程,在需要調用該DLL處,添加類如下代碼:

CString strName=_T(“王朋”);

double dScore=89;

HINSTANCE hdll;

typedef void(*dllfun)(CString,double);

dllfun thefunc;

hdll=LoadLibrary(_T(“RegularMFCDLL.dll”));

if(hdll!=NULL)

{

thefunc=(dllfun)GetProcAddress(hdll,“ShowScore”);

}

else

{

AfxMessageBox(_T(“加載DLL失敗!”));return;} thefunc(strName,dScore);FreeLibrary(hdll);

6、靜態調用

頭文件中添加如下代碼:

#pragma comment(lib,“RegularMFCDLL.lib”)

extern void ShowScore(CString,double);

在源文件中需要調用該DLL的函數處添加:

CString strName=_T(“王a?朋¨?”);

double dScore=90;

ShowScore(strName,dScore);

7、可見,窗口等MFC對象是被定義在一個函數中,再導出這個函數來顯示這些資源對象的。

第二篇:MFC實踐總結

mfc編程實驗總結報告 知識總結+個人心得 2011年暑期mfc編程實驗報告 mfc編程實驗個人總結報告

一、mfc類、函數等知識小結:

1、settimer(1, m_intlevel, null);在mfc程序中settimer被封裝在cwnd類中,調用就不用指定窗口句柄了于是settimer函數的原型變為: uint settimer(uint nidevent,uint nelapse,void(callback export *lpfntimer)(hwnd,uint ,yint ,dword))當使用settimer函數的時候,就會生成一個計時器。函數中nidevent指的是計時器的標識,也就是名字。nelapse指的是時間間隔,也就是每隔多長時間觸發一次事件。第三個參數是一個回調函數,在這個函數里,放入你想要做的事情的代碼,你可以將它設定為null,也就是使用系統默認的回調函數,系統默認認的是ontime函數。這個函數怎么生成的呢?你需要在需要計時器的類的生成ontime函數:在classwizard里,選擇需要計時器的類,添加wm_time消息映射,就自動生成ontime函數了。然后在函數里添加代碼,讓代碼實現功能。每隔一段時間就會自動執行一次。例: settimer(1,1000,null);1:計時器的名稱;

1000:時間間隔,單位是毫秒; null:使用ontime函數。

當不需要計時器的時候調用killtimer(nidevent);例如:killtimer(1);killtimer(1);

2、typedef struct{};(1)struct{ int x;int y;}test1;好,定義了 結構 test1,test1.x 和 test1.y 可以在語句里用了。(2)struct test {int x;int y;}test1;定義了結構 test1,test1.x 和 test1.y 可以在語句里用了。

與(1)比,省寫 了 test(3)typedef struct test {int x;int y;}text1,text2;此處時說了這種結構體(類型)別名 叫 text1 或叫 text2,而不是定義了結構體變量.真正在語句里用,還要寫: text1 test1;//定義結構體變量

然后好用 test1.x test1.y 或寫 text2 test1;//定義結構體變量

然后好用 test1.x test1.y

3、invalidate();//讓客戶區無效,即時重新繪制客戶區 void invalidate(bool berase = true);該函數的作用是使整個窗口客戶區無效。窗口的客戶區無效意味著需要重繪,例如,如果一個被其它窗口遮住的窗口變成了前臺窗口,那么原來被遮住的部分就是無效的,需要重繪。這時windows會在應用程序的消息隊列中放置wm_paint消息。mfc為窗口類提供了wm_paint的消息處理函數onpaint,onpaint負責重繪窗口。視圖類有一些例外,在視圖類的onpaint函數中調用了ondraw函數,實際的重繪工作由ondraw來完成。參數berase為true時,重繪區域內的背景將被擦除,否則,背景將保持不變。

4、cdc::rectangle(左上x,左上y,右下x,右下y);使用該函數畫一個矩形,可以用當前的畫筆畫矩形輪廓,用當前畫刷進行填充。

函數原型:bool rectangle(hdc hdc, int nleftrect, int ntoprect, int nrightrect, int nbottomrect);

hdc:設備環境句柄。

nleftrect:指定矩形左上角的邏輯x坐標。ntoprect:指定矩形左上角的邏輯y坐標。nrightrect:指定矩形右下角的邏輯x坐標。nbottomrect:指定矩形右下角的邏輯y坐標。

5、cbrush:: cbrush//畫刷類 eg:cbrush brushstick(rgb(127, 127, 127));四種構造函數: cbrush();cbrush(colorref crcolor);cbrush(int nindex, colorref crcolor);cbrush(cbitmap* pbitmap);參數說明: crcolor指定畫刷的前景色(rgb方式)。如果畫刷是陰影線型的,則指定陰影線的顏色。nindex指定畫刷陰影線采用的風格,取值如下: hs_bdiagonal45度的向下影線(從左到右)hs_cross水平和垂直方向以網格線作出陰影 hs_diagcross 45度的網格線陰影 hs_fdiagonal 45度的向上陰影線(從左到右)

hs_horizontal 水平的陰影線 hs_vertical 垂直的陰影線 pbitmap指向cbitmap對象的指針,該對象指定了畫刷要繪制的位

圖。

構造函數說明:

6、messagebox(game over!);messagebox(null,text,title,button);參數title:string類型,指定消息對話框的標題。text:指定消息對話框中顯示的消息,該參數可以是數值數據類型、字符串或boolean值。icon:icon枚舉類型,可選項,指定要在該對話框左側顯示的圖標。button:button枚舉類型,可選項,指定顯示在該對話框底部的按鈕。default:數值型,可選項,指定作為缺省按鈕的按鈕編號,按鈕編號自左向右依次計數,缺省值為1,如果該參數指定的編號超過了顯示的按鈕個數,那么messagebox()函數將使用缺省值返回值integer。函數執行成功時返回用戶選擇的按鈕編號(例如1、2、3等),發生錯誤時返回-1。如果任何參數的值為null,messagebox()函數返回null。

函數原型:

messagebox.show(text,title,messageboxbuttons,messageboxicon ,messageboxdefaultbuttons)參數說明:

(1)text:必選項,消息框的正文。

(2)title:可選項,消息框的標題。(3)messageboxbuttons:可選項,消息框的按鈕設置,默認只顯示【確定】按鈕。ok――確定 okcancel――確定和取消 abortretryignore――終止、重試和忽略 yesnocancel――是、否和取消 yesno――是和否 retrycancel――重試和取消

(4)messageboxicon:對話框中顯示的圖標樣式,默認不顯示任何圖標。

question――問號 information、asterisk――i號 error、stop、hand――錯誤號 warning、exclamation――!號 none――不顯示任何圖標

(5)messageboxdefaultbuttons:可選項,對話框中默認選中的按鈕設置。

defaultbutton1――第1個button是默認按鈕 defaultbutton2――第2個button是默認按鈕 defaultbutton3――第3個button是默認按鈕

7、memcpy(拷貝目的地,拷貝對象,拷貝長度);包含在頭文件#include

函數原型:

extern void *memcpy(void *destin, void *source, unsigned n);功能:

由source指向地址為起始地址的連續n個字節的數據復制到以destin指向地址為起始地址的空間內。eg: int a=5,b=9;memcpy(a,b,sizeof(a));//將b按位拷給a;說明:

1.source和destin所指內存區域不能重疊,函數返回指向destin的指針。2.與strcpy相比,memcpy并不是遇到

主站蜘蛛池模板: 亚洲成色在线综合网站免费| 亚洲人成色77777| 国产成人一区二区视频免费| 99热精国产这里只有精品| 国语对白刺激在线视频国产网红| 亚洲xxxx做受欧美| 亚洲欧美综合成人五月天网站| 欧洲熟妇色xxxx欧美老妇老头多毛| 久久久综合香蕉尹人综合网| 天天综合网天天综合色| 国产精品嫩草久久久久| 韩国19禁主播深夜福利视频| 国产精品一品二区三区的使用体验| 国产在线无码一区二区三区| 久久婷婷成人综合色综合| 韩国午夜理伦三级在线观看仙踪林| 久久不见久久见免费视频7| 国产激情电影综合在线看| 亚洲国产成人片在线观看无码| 伊人久久成综合久久影院| 欧美人与动性xxxxx杂性| 久久亚洲国产最新网站之一| 国产卡一卡二卡三免费入口| 中文字幕乱妇无码av在线| 国产产在线精品亚洲aavv| 精品亚洲国产成人av制服| 免费看无码毛视频成片| 好屌草这里只有精品| 午夜精品一区二区三区的区别| 真实的国产乱xxxx在线| 人人妻一区二区三区| 福利视频在线播放| 欧美国产日产一区二区| 久久无码中文字幕免费影院蜜桃| 日韩一本之道一区中文字幕| 欧美肥婆姓交大片| 精品午夜福利1000在线观看| 97人摸人人澡人人人超一碰| 久草日b视频一二三区| 无码人妻av一区二区三区波多野| 麻豆果冻传媒精品一区|