版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1ActiveX2ActiveXActiveX控制的包容器程序通常是一個(gè)表單或?qū)υ捒?,也可以是?fù)合文檔的視窗口或文檔對(duì)象。ActiveX控制通過(guò)控制站點(diǎn)對(duì)象與包容器進(jìn)行交互??刂普军c(diǎn)把包容器的環(huán)境屬性暴露給ActiveX控制,環(huán)境屬性定義了缺省顏色、字體、對(duì)齊方式等,ActiveX控制在運(yùn)行時(shí)刻獲取包容器的環(huán)境屬性。3需求分析1. 背景背景 此案例為演示性的程序?qū)嵗税咐秊檠菔拘缘某绦驅(qū)嵗? 先創(chuàng)建一個(gè)時(shí)鐘先創(chuàng)建一個(gè)時(shí)鐘ActiveX 控件控件, 能夠插入包容器并用能夠插入包容器并用于計(jì)時(shí)。使用于計(jì)時(shí)。使用AT L 窗口應(yīng)用程序作為包容器窗口應(yīng)用程序作為包容器, 用用MFC 開發(fā)開發(fā)Activ
2、eX 控件以便于控件以便于繪制時(shí)鐘界面。繪制時(shí)鐘界面。2. 功能需求功能需求 時(shí)鐘控件時(shí)鐘控件: 能夠獲取系統(tǒng)時(shí)鐘時(shí)間能夠獲取系統(tǒng)時(shí)鐘時(shí)間, 顯示當(dāng)前時(shí)間顯示當(dāng)前時(shí)間; 具有簡(jiǎn)單數(shù)字界面與圖形界面具有簡(jiǎn)單數(shù)字界面與圖形界面, 并能夠相互切換。并能夠相互切換。 包容器包容器: 顯示時(shí)鐘控件。顯示時(shí)鐘控件。3. 界面要求界面要求 時(shí)鐘控件時(shí)鐘控件: 具有簡(jiǎn)單數(shù)字界面與圖形界面樣式具有簡(jiǎn)單數(shù)字界面與圖形界面樣式, 并能夠響應(yīng)鼠標(biāo)事件進(jìn)行切換。并能夠響應(yīng)鼠標(biāo)事件進(jìn)行切換。 包容器包容器: 窗口資源能夠響應(yīng)鼠標(biāo)操作顯示時(shí)鐘控件。窗口資源能夠響應(yīng)鼠標(biāo)操作顯示時(shí)鐘控件。4系統(tǒng)分析1. 用例分析本案例用例如圖
3、所示, 用戶使用ATL 窗口作為時(shí)鐘控件的包容器, 時(shí)鐘控件在AT L 窗口中顯示并供用戶操作。時(shí)鐘控件包容器用例圖客戶直接交互方法和屬性激發(fā)事件5時(shí)鐘控件對(duì)象列表如表所示。2. 對(duì)象分析 對(duì)象對(duì)象 屬性屬性 方法方法 時(shí)鐘控件系統(tǒng)時(shí)間時(shí)鐘樣式時(shí)鐘外觀( 大小、背景色、表針顏色 ) 設(shè)置時(shí)間計(jì)數(shù)器 設(shè)置時(shí)鐘外觀 響應(yīng)鼠標(biāo)單擊事件,切換時(shí)鐘樣式 獲取系統(tǒng)時(shí)間時(shí)鐘控件對(duì)象列表61、獲取當(dāng)前時(shí)間CTime time = CTime:GetCurrentTime();CString str = time.Format(%H:%M:%S); pDC-SetTextColor(RGB(255,0,0);p
4、DC-TextOut( 60,60,str);2、鐘表樣式 CSize size; /創(chuàng)建一支黃色的筆,用來(lái)畫橢圓 CPen Pen(PS_SOLID,3,RGB(0,0,0); /設(shè)置當(dāng)前畫筆,并記下以前的畫筆 CPen *OldPen=pDC-SelectObject(&Pen); /繪制鐘面橢圓 pDC-Ellipse(3,3,Rect.right-3,Rect.bottom+3);73、屬性和方法 BackColor 標(biāo)準(zhǔn)屬性,設(shè)置控件背景顏色ForeColor 標(biāo)準(zhǔn)屬性,設(shè)置控件前景顏色DrawClick(CDC *pDC, const CRect &rcBounds
5、, const CRect &rcInvalid)該方法為自定義方法,表盤放在該方法中CurrenTime(CDC *pDC, const CRect &rcBounds, const CRect &rcInvalid)該方法也為自定義方法,用來(lái)得到系統(tǒng)時(shí)間84、響應(yīng)鼠標(biāo)的事件 在_DClockEvents里添加了Click事件,該事件為鼠標(biāo)單擊事件。 再添加一個(gè)消息響應(yīng)OnLButtonDown,當(dāng)按下鼠標(biāo)左鍵時(shí),該消息響應(yīng)。 再此定義了一個(gè)自定義屬性m_clickflag為bool類型.9A TL 窗口對(duì)象列表如表所示 對(duì)象對(duì)象 屬性屬性 方法方法窗口 -菜單響應(yīng):
6、 打開/ 關(guān)閉對(duì)話框?qū)υ捒?- -10界面設(shè)計(jì)時(shí)鐘控件: 數(shù)字時(shí)鐘用數(shù)字顯示時(shí)間, 模擬時(shí)鐘按照傳統(tǒng)的表盤式指針顯示時(shí)間。11系統(tǒng)實(shí)現(xiàn)1. 時(shí)鐘控件實(shí)現(xiàn)時(shí)鐘控件實(shí)現(xiàn) 創(chuàng)建創(chuàng)建ActiveX 控件控件, 創(chuàng)建時(shí)鐘控件。創(chuàng)建時(shí)鐘控件。 用用MFC ActiveX Cont rolWizard 創(chuàng)建新項(xiàng)目創(chuàng)建新項(xiàng)目, 命名為命名為Clock接受默認(rèn)選項(xiàng)接受默認(rèn)選項(xiàng), 生生成項(xiàng)目文件。成項(xiàng)目文件。 在在CClockCtr l 類構(gòu)造函數(shù)中初始化控件尺寸類構(gòu)造函數(shù)中初始化控件尺寸: CC l ockCt r l :CCl ockCt r l ( ) I n i t i a l i z e I IDs (
7、&I ID_DCl ock, &I ID_DCl ockEven t s ); Se t I n i t i a l S i z e ( 150, 150 ); / / 設(shè)置控件尺寸大小設(shè)置控件尺寸大小 為此控件添加屬性為此控件添加屬性, 為了易于說(shuō)明問(wèn)題為了易于說(shuō)明問(wèn)題, 只添加一個(gè)庫(kù)存屬性和一個(gè)自定義屬只添加一個(gè)庫(kù)存屬性和一個(gè)自定義屬性。在性。在ClassWiza rd 下下Automation 選項(xiàng)卡中單擊選項(xiàng)卡中單擊Add Proper ty 按鈕按鈕, 在在彈出的彈出的“Add Property”對(duì)話框中對(duì)話框中External name 組合框下選擇下拉列表中組合框
8、下選擇下拉列表中的的“BackColor” 表示背景色。再添加一個(gè)屬性表示背景色。再添加一個(gè)屬性, 在在External name 組合框組合框中填入中填入“ClockT ype”, 類型設(shè)為類型設(shè)為BOOL 型型, 用于表示時(shí)鐘樣式。用于表示時(shí)鐘樣式。12還需在還需在DoProExchange ( ) 中添加如下數(shù)據(jù)交換代碼。中添加如下數(shù)據(jù)交換代碼。 vo i d CCl ockCt r l :DoPr opExchange (CPr opExchange* pPX) ExchangeVe r s i on ( pPX, MAKELONG( _wVe rMi no r, _wVe rMa j
9、 o r ) ); COl eCon t r o l: DoPr opExchange ( pPX); PX_Boo l (pPX, Cl oc kType , m_Cl ockType, TRUE); / / 添加自定義屬性添加自定義屬性代碼代碼 (1 ) 設(shè)置計(jì)時(shí)器設(shè)置計(jì)時(shí)器 為時(shí)鐘設(shè)置計(jì)時(shí)器為時(shí)鐘設(shè)置計(jì)時(shí)器, 每秒鐘刷新一次時(shí)間顯示。用每秒鐘刷新一次時(shí)間顯示。用ClassWiza rd 為為CClockControl類添加類添加WM _ CREA TE 消息的響應(yīng)函數(shù)消息的響應(yīng)函數(shù)OnCr eat e( ) ,在該在該函數(shù)中建立定時(shí)器。函數(shù)中建立定時(shí)器。 i n t CCl ockC t
10、 r l :OnCr e a t e (LPCREATESTRUCT l pCr e a t eS t r uc t )i f (COl eCon t r o l: OnCr e a t e ( l pCr e a t eS t r uc t )= = - 1 )r e t u r n - 1;m_Time r= Se tTime r ( 1, 1000, NULL); / /定時(shí)器設(shè)為定時(shí)器設(shè)為1000msr e t u r n 0;13 用用Clas sWizard 為為CClockCt rl 類添加類添加WM _ Timer 消息處理函數(shù)消息處理函數(shù)On Time r ( ) , 在該在
11、該函數(shù)中調(diào)用函數(shù)中調(diào)用InvalidateCont rol( ) 重繪控件重繪控件, 刷新時(shí)間顯示。刷新時(shí)間顯示。 vo i d CCl ockCt r l :OnTime r (UINT n IDEven t ) / /時(shí)鐘到時(shí)時(shí)鐘到時(shí),WM_Time r 響應(yīng)響應(yīng)I nva l i da t eCon t r o l ( ); / /使控件失效使控件失效, 重繪重繪COl eCon t r o l :OnTime r (n IDEven t );用用ClassWizard 為為CClockCt rl 類的類的DestoryWindow 消息添加處理函數(shù)消息添加處理函數(shù), 當(dāng)退出窗口當(dāng)退出窗
12、口時(shí)銷毀計(jì)時(shí)器。時(shí)銷毀計(jì)時(shí)器。BOOL CCl ockCt r l: De s t r oyWi ndow( )Ki l lTime r (m_Time r ); / /銷毀計(jì)數(shù)器銷毀計(jì)數(shù)器r e t u r n COl eCon t r o l: De s t r oyWi ndow( ); / /銷毀窗口銷毀窗口14(2 ) 切換時(shí)鐘顯示樣式切換時(shí)鐘顯示樣式當(dāng)用戶單擊當(dāng)用戶單擊Clock 控件時(shí)控件時(shí), 控件在數(shù)字時(shí)鐘與模擬表盤樣式之間切換。因此控件在數(shù)字時(shí)鐘與模擬表盤樣式之間切換。因此需要為控需要為控件窗口創(chuàng)建窗口響應(yīng)事件件窗口創(chuàng)建窗口響應(yīng)事件, 庫(kù)存事件中有庫(kù)存事件中有Click 事件
13、事件, 可以在可以在Classwiza rd 的的ActiveXEvents 選項(xiàng)卡中選項(xiàng)卡中, 單擊單擊Add Events 按鈕添加事件按鈕添加事件, 在彈出的在彈出的“Add Event” 對(duì)話框中的對(duì)話框中的Exte rn name 復(fù)合框中選擇復(fù)合框中選擇Click , Clas sWizard 會(huì)自動(dòng)在會(huì)自動(dòng)在ClockCtr l.cpp 文件中添加事件映文件中添加事件映射和射和OnClick ( ) 函數(shù)的實(shí)現(xiàn)代碼。函數(shù)的實(shí)現(xiàn)代碼。/ / Even t mapBEGIN_EVENT_MAP(CCl ockCt r l, COl eCon t r o l )/ / AFX_EVEN
14、T_MAP(CCl oc kCt r l )EVENT_STOCK_CLICK( )/ / AFX_EVENT_MAPEND_EVENT_MAP( )vo i d CCl ockCt r l :OnCl i ck (USHORT iBu t t on )m_Cl ockType= !m_Cl ockType; / / 時(shí)鐘樣式切換時(shí)鐘樣式切換I nva l i da t eCon t r o l ( ); / / 重繪控件重繪控件COl eCo n t r o l :OnCl i ck ( iBu t t on );15(3 ) 實(shí)現(xiàn)控件功能并繪制控件實(shí)現(xiàn)控件功能并繪制控件此控件的主要功能是獲
15、取系統(tǒng)時(shí)間此控件的主要功能是獲取系統(tǒng)時(shí)間, 并用數(shù)字和圖形形式顯示出來(lái)并用數(shù)字和圖形形式顯示出來(lái), 這部分代碼在這部分代碼在CClockCt rl OnDraw ( ) 函數(shù)中實(shí)現(xiàn)。由于其中要用到三角函數(shù)函數(shù)中實(shí)現(xiàn)。由于其中要用到三角函數(shù), 所以要在所以要在ClockCt rl.cpp 文件中引用文件中引用math.h。 # i nc l ude ma t h. h OnDr aw( ) 函數(shù)詳細(xì)代碼為函數(shù)詳細(xì)代碼為:vo i d CCl ockCt r l :OnDr aw(CDC* pdc, con s t CRe c t& r cBound s, con s t CRe c t&
16、amp; r c I n va l i d )CRe c t r e c t;:Ge tCl i en tRe c t ( t h i sm_hWnd, &r e c t ); / / 獲取客戶區(qū)獲取客戶區(qū)i n t nCen t e rX= r e c t. r i gh t/ 2; / / 獲取客戶區(qū)中心坐標(biāo)獲取客戶區(qū)中心坐標(biāo)i n t nCen t e rY= r e c t. bo t t om/ 2;pdc Se tTex tCo l o r (Tr an s l a t eCo l o r (Ge t Fo r eCo l o r ( ) ) ); / / 設(shè)置文設(shè)置文本顏
17、色本顏色pdc Se tBkMode (TRANSPARENT); / / 設(shè)置背景為透明設(shè)置背景為透明CBr u s h * pBr u s h = new CBr u s h (T r an s l a t eCo l o r (Ge tBa ckCo l o r ( ) ) );/ / 新建畫刷新建畫刷, 顏色為背景色顏色為背景色pdc F i l l Re c t (&r e c t, pBr u s h ); / / 將控件所占客戶區(qū)填為透明將控件所占客戶區(qū)填為透明de l e t e pBr u s h;CFon t * pOl dFon t;pOl dFo n t =Se
18、 l e c t S t ockFon t (pd c ); / / 選擇庫(kù)存字體選擇庫(kù)存字體CTime Time=CTime: Ge tCu r r en tT ime ( ); / / 獲取當(dāng)前時(shí)間獲取當(dāng)前時(shí)間CS t r i n g sNumbe r ; / / 整點(diǎn)數(shù)字整點(diǎn)數(shù)字16i f (m_Cl ockType ) / / 數(shù)字時(shí)鐘數(shù)字時(shí)鐘CS t r i ng Cu r r en tTime=Time. Fo rma t ( %Y: %c: %d: %H: %m: %s );pdc ExtTex tOu t ( r cBounds. l e f t, r cBound s. t
19、op, ETO_CLIPPED, r cBounds, Cu r r ent -ime, s t r l en (Cu r r en tTime ), NULL); / /用數(shù)字顯示時(shí)間用數(shù)字顯示時(shí)間e l s e / / 模擬表盤模擬表盤i n t i , x, y;CS i z e s i z e;doub l e R; / / 表針半徑表針半徑CPen Pen (PS_SOLID, 5, RGB( 0, 0, 0 ) ); / / 創(chuàng)建黑色畫筆繪制表盤邊緣創(chuàng)建黑色畫筆繪制表盤邊緣CPen* pOl dPen= pdc Se l e c tOb j e c t (&Pen ); /
20、 / 將此畫筆選入將此畫筆選入DCpdc El l i p s e (5, 5, r e c t. r i gh t - 5, r e c t. bo t t om- 5 ); / /繪制表盤繪制表盤pdc Se tTex tCo l o r (RGB( 0, 0, 0 ) ); / / 鐘點(diǎn)字體顏色鐘點(diǎn)字體顏色17f o r ( i = 1; i = 12; i + + ) / / 逐個(gè)顯示整點(diǎn)數(shù)字逐個(gè)顯示整點(diǎn)數(shù)字sNumbe r. Fo rma t ( % d , i );s i z e= pdc Ge tTex tEx t en t ( sNumbe r, sNumbe r. Ge t
21、Leng t h ( ) );R= (do ub l e ) i * 2* PI/ 12. 0;x=nCen t e rX- ( s i z e. cx/ 2 )+ ( i n t ) ( ( doub l e ) ( nCen t e rX- 20 ) * s i n (R) ); / / 位置坐標(biāo)位置坐標(biāo)Xy=nCen t e rY- ( s i z e. cx/ 2 ) - ( i n t ) ( ( doub l e ) ( nCen t e rY- 20 ) * co s (R) ); / / 位置坐標(biāo)位置坐標(biāo)Ypdc Tex tOu t ( x, y, sNumbe r ); /
22、/ 顯示文顯示文/ / 繪制時(shí)針繪制時(shí)針R= ( doub l e )Time. Ge tHou r ( )+ ( doub l e )Time. Ge tMi nu t e ( )/ 60. 0+( doub l e )Time. Ge t Se cond ( )/ 3600. 0; / / 計(jì)算時(shí)針?biāo)谖恢没《扔?jì)算時(shí)針?biāo)谖恢没《萊* =2* PI/ 12. 0;CPen Hou rPen (PS_SOLID, 5, RGB( 0, 255, 0 ) ); / /創(chuàng)建時(shí)針畫筆創(chuàng)建時(shí)針畫筆pdc Se l e c tOb j e c t (&Hou rP en );pdcMoveTo
23、 ( nCen t e rX, nCen t e rY);pdc Li neTo (nCen t e rX+ ( i n t ) (doub l e ) ( nCent e rX/ 3) * s i n(R), / / X坐標(biāo)坐標(biāo)nCen t e rY- ( i n t ) (doub l e ) ( nCent e rY/ 3) * co s (R) ); / / Y坐標(biāo)坐標(biāo)18/ / 繪制分針繪制分針R= ( doub l e )Time. Ge tMi nu t e ( )+ (do ub l e )Time. Ge t Se cond ( )/ 60. 0;/ /計(jì)算時(shí)針?biāo)谖恢没∮?jì)算
24、時(shí)針?biāo)谖恢没* =2* PI/ 60. 0;CPen Mi nu t ePen (PS_SOLID, 3, RGB( 0, 255, 255 ) ); / / 創(chuàng)建分針畫筆創(chuàng)建分針畫筆pdc Se l e c tOb j e c t (&Mi nu t ePen );pdcMoveTo ( nCen t e rX, nCen t e rY);pdc Li neTo ( nCen t e rX+ ( i nt ) (doub l e ) (nCen t e rX* 2/ 3) * s in (R), / / X坐標(biāo)坐標(biāo)nCent e rY- ( in t ) (doub l e )
25、(nCent e rY* 2/ 3)* co s (R) ); / / Y坐標(biāo)坐標(biāo)/ / 繪制秒針繪制秒針R= ( doub l e )Time. Ge t Se cond ( ); / /計(jì)算秒針?biāo)谖恢没《扔?jì)算秒針?biāo)谖恢没《萊* =2* PI/ 60. 0;CPen Se condPen (PS_SOLID, 1, RGB( 0, 0, 0 ) ); / /創(chuàng)建秒針畫筆創(chuàng)建秒針畫筆pdc Se l e c tOb j e c t (&Se con dPen );pdcMoveTo ( nCen t e rX, nCen t e rY);pdc Li neTo ( nCent e
26、rX+ ( in t ) ( doubl e ) ( nCen t e rX* 4/ 5) * s i n(R), / / X坐標(biāo)坐標(biāo)nCent e rY- ( in t ) ( doubl e ) ( nCen t e rY* 4/ 5) * co s (R) ); / / Y坐標(biāo)坐標(biāo)pdc Se l e c tOb j e c t ( pOl dPe n ); / /選回舊畫筆選回舊畫筆 19(4 ) 添加屬性表添加屬性表用MFC ActiveX Cont rol Wizard 創(chuàng)建控件時(shí), 就為控件創(chuàng)建了默認(rèn)屬性頁(yè)。為了清楚起見, 本實(shí)例在默認(rèn)添加的Gene ral 屬性頁(yè)之外再添加一個(gè)
27、屬性頁(yè)。 在ClockCt rl.cpp 中修改有關(guān)屬性頁(yè)的設(shè)置:/ / Pr o pe r t y pag e sBEGIN_PROPPAGEIDS(CCl ockC t r l, 2) / /有2個(gè)屬性頁(yè)P(yáng)ROPPAGEID(CCl o ckPr opPage: gu i d )PROPPAGEID(CLSID_CCo l o r Pr opPage ) / /顏色屬性頁(yè)END_PROPPAGEIDS(CCl ockCt r l )在容器中插入在容器中插入Clock 控件時(shí)控件時(shí), 可以使用該控件的屬性頁(yè)對(duì)控件屬性進(jìn)行可視可以使用該控件的屬性頁(yè)對(duì)控件屬性進(jìn)行可視化設(shè)計(jì)化設(shè)計(jì),編譯后就可以得
28、到編譯后就可以得到Clock.ocx 控件??丶?。202. ATL 窗口實(shí)現(xiàn)創(chuàng)建一個(gè)空白AT L 窗口, 下面向該窗口加入視圖、菜單和對(duì)話框資源。(1 ) 主窗口重載OnFinalMessage ( ) 函數(shù), 以便在退出窗口時(shí)發(fā)送一個(gè)退出消息, 該函數(shù)是A TL 中少數(shù)幾個(gè)虛函數(shù)之一, 當(dāng)收到WM _ NCDESTROY 消息時(shí)被調(diào)用。vo i d OnF i na lMe s s age (HWND / * hWnd*/ ):Po s tQu i tMe s s age (0 );21 (2 ) 加入視圖窗口加入視圖窗口 右擊右擊ClassView, 選擇選擇New Clas s , 創(chuàng)建
29、另一個(gè)新的普通類創(chuàng)建另一個(gè)新的普通類, 命名為命名為CMyView,將其基類改為將其基類改為CWindowImpl: c l a s s CMyVi ew: pub l i c CWi ndowImp lCMyVi ew, CWi n dow, CFr ameWi nTr a i t s 用用# include 包含包含stdafx. h , 并聲明并聲明WNDCLASS 和消息映射。和消息映射。DECLARE_WND_CLASS( _T( MyVi ew ) )BEGIN_MSG_MAP(CMa i nFr ame )END_MSG_MAP( ) 然后在然后在CMainFrame 類中創(chuàng)建一
30、個(gè)類中創(chuàng)建一個(gè)CMyView 的實(shí)例的實(shí)例, 在在CMainFrame 類為類為消息消息WM _ CREATE 實(shí)現(xiàn)響應(yīng)函數(shù)實(shí)現(xiàn)響應(yīng)函數(shù)OnCreate( )。LRESULT OnCr e a t e (UINT uMs g, WPARAMwP a r am,LPARAM l P a r am, BOOL& bHand l ed )m_wndVi ew. Cr e a t e (m_hWnd, CWi ndow: r cDe f au l t, _T( MyVi ew ), 0, 0, 0 );r e t u r n 0;22在窗口類在窗口類CMainFrame 中需處理中需處理WM
31、_ SIZE 消息消息, 獲取窗口客戶區(qū)大小獲取窗口客戶區(qū)大小, 以確定以確定視圖的大小。視圖的大小。LRESULT OnS i z e (UINT uMs g, WPARAMwP a r am, LPARAM l Pa r am, BOOL& bHand l ed )RECT r;Ge tCl i en tRe c t (&r ); / / 獲取窗口客戶區(qū)大小獲取窗口客戶區(qū)大小m_wndVi ew. Se tWi ndowPo s (NULL, &r, SWP_NOZORDER| SWP_NOACTIVATE ); / / 將視圖設(shè)為戶區(qū)大小將視圖設(shè)為戶區(qū)大小r e
32、t u r n 0;(3 ) 添加對(duì)話框添加對(duì)話框向項(xiàng)目插入一個(gè)新的對(duì)話框資源向項(xiàng)目插入一個(gè)新的對(duì)話框資源, 刪除刪除Cancel 按鈕按鈕, 保留保留OK 按鈕按鈕, 將其將其ID 設(shè)為設(shè)為IDD _ DIALOG1 , 在在Dlg. h 中加入代碼中加入代碼:en um IDD= IDD_DIALOG1;在在ClassView 中新建一個(gè)名為中新建一個(gè)名為CDlg 的類的類, 將其基類改為將其基類改為CAxDialogImpl。c l a s s CDl g: pub l i c CAxDi a l og Imp lCDl g需在需在Dlg.h 文件中包含文件中包含stdafx.h 和和a
33、tlhost.h 文件文件, 重載重載OnInitDialog ( ) 函函數(shù)數(shù):LRESULT: On I n i tDi a l og(UINT uMs g,WPARAMwPa r am, LPARAM l Pa r am, BOOL& bHa nd l ed );23為為OK 按鈕重載按鈕重載OnOK( ) 函數(shù)函數(shù):LRESULT :OnOK(WORD wNo t i f yCode, WORD wID, HWND hWndCt l, BOOL& bHand l ed );并加入消息映射并加入消息映射:BEGIN_MSG_MAP(CDi a l og )MESSAGE_
34、HANDLER(WM_INITDIALOG, On I n i tDi a l og )COMMAND_ ID_HANDLER( IDOK, OnOK)END_MSG_MAP( )在在Dlg.cpp 文件中實(shí)現(xiàn)這兩個(gè)函數(shù)文件中實(shí)現(xiàn)這兩個(gè)函數(shù):LRESULT CDl g On I n i tDi a l og(UINT uMs g, WPARAMwPa r am, LPARAM l Pa r am, BOOL& bHand l ed )r e t u r n 1;LRESULT CDl g: OnOK(WORD wNo t i f yCod e,WORD wID, HWND hWndCt l, BOOL& bHand l ed )EndDi a l og (wID);r e t u r n 0;24 (4
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:健康中國(guó)視域下醫(yī)療、醫(yī)保、醫(yī)藥協(xié)同發(fā)展研究
- 二零二五版房屋互換及社區(qū)活動(dòng)組織服務(wù)協(xié)議3篇
- 2025年度農(nóng)業(yè)用地承包經(jīng)營(yíng)權(quán)登記合同參考4篇
- 2025年版?zhèn)€人與投資公司信貸合作借款合同樣本4篇
- 二零二五版木工支模與智能家居安裝服務(wù)合同4篇
- 二零二五版智能家居產(chǎn)業(yè)股權(quán)投資及合作生產(chǎn)合同3篇
- 二零二五年度廚房設(shè)備節(jié)能改造與評(píng)估合同8篇
- 2025年度個(gè)人與個(gè)人草原生態(tài)補(bǔ)償資金管理合同范本4篇
- 2025年新型建筑材料采購(gòu)及安裝施工合同3篇
- 二零二五年度品牌產(chǎn)品售后服務(wù)客戶關(guān)系維護(hù)合同3篇
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護(hù)導(dǎo)體
- 計(jì)劃合同部部長(zhǎng)述職報(bào)告范文
- 人教版高一地理必修一期末試卷
- GJB9001C質(zhì)量管理體系要求-培訓(xùn)專題培訓(xùn)課件
- 二手車車主寄售協(xié)議書范文范本
- 2024年中考政治總復(fù)習(xí)初中道德與法治知識(shí)點(diǎn)總結(jié)(重點(diǎn)標(biāo)記版)
- 2024年手術(shù)室的應(yīng)急預(yù)案
- 五年級(jí)上冊(cè)小數(shù)除法豎式計(jì)算練習(xí)300題及答案
- 語(yǔ)言規(guī)劃講義
- 生活用房設(shè)施施工方案模板
- GB/T 9755-2001合成樹脂乳液外墻涂料
評(píng)論
0/150
提交評(píng)論