2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Windows程序設(shè)計基礎(chǔ),第四章Windows圖形界面,4.1 基礎(chǔ)知識,創(chuàng)建主窗口,創(chuàng)建Win32工程,創(chuàng)建其他工程,int APIENTRY WinMain(HINSTANCE hInstance,//本模塊的實例句柄 HINSTANCE hPrevInstance,//Win16時代句柄 LPSTR lpCmdLine,//命令行參數(shù)

2、 int nCmdShow)//主窗口初始化時的顯示方式{ // TODO: Place code here.return 0;},入口函數(shù),lpCmdLine,nCmdShow的值都是由CreateProcess函數(shù)的參數(shù)lpCommandLine,dwCreationFlags指定。,創(chuàng)建窗口后,就要對窗口的行為負責。操作系統(tǒng)不斷的向應(yīng)用程序發(fā)送消息,通知它發(fā)生了什么事情

3、。當Windows向程序發(fā)送消息時,它調(diào)用程序中的一個函數(shù),這個函數(shù)的參數(shù)精確地描述了Windows發(fā)送的消息。在程序中稱其為窗口函數(shù)或消息處理函數(shù)。它是一個自定義的回調(diào)函數(shù)。原形如下:LRESULT CALLBACK WindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam );,Windows的消息驅(qū)動,4.2 消息驅(qū)動,回調(diào)函數(shù),回調(diào)函數(shù)是應(yīng)用程序提

4、供給Windows系統(tǒng)DLL或其它DLL調(diào)用的函數(shù),一般用于截獲消息、獲取系統(tǒng)信息或處理異步事件。應(yīng)用程序把回調(diào)函數(shù)的地址指針告訴DLL,而DLL在適當?shù)臅r候會調(diào)用該函數(shù)?;卣{(diào)函數(shù)必須遵守事先規(guī)定好的參數(shù)格式和傳遞方式,否則DLL一調(diào)用它就會引起程序或系統(tǒng)的崩潰。通常情況下,回調(diào)函數(shù)采用標準WindowsAPI的調(diào)用方式,即__stdcall,當然,DLL編制者可以自己定義調(diào)用方式,但客戶程序也必須遵守相同的規(guī)定。在__stdcall方

5、式下,函數(shù)的參數(shù)按從右到左的順序壓入堆棧,除了明確指明是指針或引用外,參數(shù)都按值傳遞,函數(shù)返回之前自己負責把參數(shù)從堆棧中彈出。,int main(int argc,char* argv[]){ HWND hWnd = ::FindWindow(NULL,”無標題-記事本”); if(hWnd!=NULL) { ::SendMessage(hWnd,WM_CLOSE,

6、0,0); } return 0;},示例,消息簡單的說就是指通過輸入設(shè)備向程序發(fā)出指令要執(zhí)行某個操作。具體的某個操作是你寫的一系列代碼。稱為消息處理函數(shù)。在SDK中消息其實非常容易理解,當窗口建立后便會有一個函數(shù)(窗口處理函數(shù))開始執(zhí)行一個消息循環(huán),我們還可以清楚的看到消息處理的脈絡(luò)。一個switch case語句就可以搞定,消息循環(huán)直到遇到WM_QUIT消息才會結(jié)束,其余的消息均被攔截后調(diào)用相應(yīng)

7、的處理函數(shù)。但在封裝了API的MFC中,消息似乎變的有些復雜了,我們看不到熟悉的switch case語句了,取而代之的是一個叫消息映射的東西。,消息,在現(xiàn)在的程序開發(fā)活動中,一個程序是否擁有多個窗體,主窗口就算只有一個,那菜單、工具條、控件這些都是子窗口,需要寫很多個switch case,并且還要為每個消息分配一個消息處理函數(shù),這樣做非常復雜。因此MFC采用了一種新的機制。利用一個數(shù)組,將窗口消息和相對應(yīng)的消息處理函數(shù)進行映射,你可

8、以理解成這是一個表。這種機制就是消息映射。這張表在窗口基類CWnd定義,派生類的消息映射表如果你沒有動作它是空的,也就是說如果你不手工的增加消息處理函數(shù),則當派生窗口接受一個消息時會執(zhí)行父類的消息處理函數(shù)。這樣做顯然是高效的。,消息映射,1、Windows 消息 此類消息主要包括以前綴 WM_ 開頭的消息,WM_COMMAND 除外。Windows 消息由窗口和視圖處理。此類消息往往帶有用于確定如何處理消息的參數(shù)。,

9、消息類別,2、控件通知 此類消息包括從控件和其他子窗口發(fā)送到其父窗口的 WM_COMMAND 通知消息。例如,當用戶在編輯控件 (Edit Control) 中執(zhí)行可能更改文本的操作后,該編輯控件 (Edit Control) 將向其父級發(fā)送包含 EN_CHANGE 控件通知代碼的 WM_COMMAND 消息。該消息的窗口處理程序以某種適當?shù)姆绞巾憫?yīng)此通知消息,例如在控件中檢索該文本??蚣芟駛魉推渌?WM_ 消息一樣

10、傳送控件通知消息。但是有一個例外的情況,即當用戶單擊按鈕時由按鈕發(fā)送的 BN_CLICKED 控件通知消息。該消息被作為命令消息特別處理,并像其他命令一樣傳送。,消息類別,3、命令消息 此類消息包括用戶界面對象(菜單、工具欄按鈕和快捷鍵)發(fā)出的 WM_COMMAND 通知消息??蚣芴幚砻畹姆绞脚c處理其他消息不同,可以使用更多種類的對象處理命令。,消息類別,Windows 消息和控件通知消息由窗口來處理(窗口是從 CW

11、nd 類派生的類的對象)。包括 CFrameWnd、CMDIFrameWnd、CMDIChildWnd、CView、CDialog 以及從這些基類派生的您自己的類。這些對象封裝了 HWND——Windows 窗口的句柄。 命令消息可以由范圍更廣的對象(文檔、文檔模板以及應(yīng)用程序?qū)ο蟊旧恚┨幚?,而不僅僅由窗口和視圖處理。當某一命令直接影響到某個特定對象時,應(yīng)當讓該對象處理此命令。例如,“文件”菜單中的“打開”命令在邏輯上

12、與應(yīng)用程序相關(guān)聯(lián):該應(yīng)用程序接收到此命令時會打開指定的文檔。因此“打開”命令的處理程序是應(yīng)用程序類的成員函數(shù)。 命令消息比較常見的便是菜單項和工具條了,它的消息映射宏和窗口消息不太一樣,一般的形式是這樣的ON_COMMAND(id,memberFun)。,消息處理,還有一種消息叫通知消息。例如樹型控件的等一些復雜的控件在單擊后需要傳遞更多的信息,例如光標的位置和當前項的一個結(jié)構(gòu),所以MFC為控件的每個通知消息也定義了一個

13、宏,它如下:ON_CONTROL(EN_CHANGE,id,memberFxn)。,消息處理,MFC定義了下面的兩個主要結(jié)構(gòu): AFX_MSGMAP_ENTRYstruct AFX_MSGMAP_ENTRY{UINT nMessage;    // Windows消息的ID號UINT nCode;   // 控制消息的通知UINT nID;   

14、  // Windows控制消息的IDUINT nLastID;    //表示是一個指定范圍的消息被映射的范圍UINT nSig;   //表示消息的動作標識AFX_PMSG pfn;     // 指向消息處理函數(shù)的指針};,MFC提供的消息結(jié)構(gòu),AFX_MSGMAPstruct AFX_MSGMAP{#ifdef _AF

15、XDLLconst AFX_MSGMAP* (PASCAL* pfnGetBaseMap)();#elseconst AFX_MSGMAP* pBaseMap;#endifconst AFX_MSGMAP_ENTRY* lpEntries;};//AFX_MSGMAP可以得到基類的消息映射入口地址和得到//本身的消息映射入口地址。,1、_AfxCbtFilterHook截獲消息(這是一個鉤子函數(shù))2、_AfxCbtFil

16、terHook把窗口過程設(shè)定為AfxWndProc。3、函數(shù)AfxWndProc接收Windows操作系統(tǒng)發(fā)送的消息。4、函數(shù)AfxWndProc調(diào)用函數(shù)AfxCallWndProc進行消息處理。5、函數(shù)AfxCallWndProc調(diào)用CWnd類的方法WindowProc進行消息處理。,MFC下消息的處理過程,一個標準的消息處理程序是這個樣子的在 CWnd 類中預定義了標準 Windows 消息 (WM_XXXX &#

17、160; WM是WINDOW MESSAGE的縮寫) 的默認處理程序。類庫基于消息名命名這些處理程序。例如,WM_PAINT 消息的處理程序在 CWnd 中被聲明為:afx_msg void OnPaint();afx_msg 關(guān)鍵字通過使這些處理程序區(qū)別于其他 CWnd 成員函數(shù)來表明 C++ virtual 關(guān)鍵字的作用。但是請注意,這些函數(shù)實際上并不是虛擬的,而是通過消息映射實現(xiàn)的。所有能夠進行消息處理的類都是基于CCmdTa

18、rget類的,也就是說CCmdTarget類是所有可以進行消息處理類的父類。CCmdTarget類是MFC處理命令消息的基礎(chǔ)和核心。,如何添加自己的消息?,若要重寫基類中定義的處理程序,只需在派生類中定義一個具有相同原型的函數(shù),并創(chuàng)建此處理程序的消息映射項。通過ClassWizard可以建立大多數(shù)窗口消息或自定義的消息,通過ClassWizard可以自動建立消息映射,和消息處理函數(shù)的框架,我們只需要把我們要做的事情填空,添加你要做的事情

19、到處理函數(shù)。但是也許需要添加一些ClassWizard不支持的窗口消息或自定義消息,那么就需要親自動手建立消息映射和消息處理的框架,通常步驟如下:,步驟,第一步:定義消息。Microsoft推薦用戶自定義消息至少是WM_USER+100,因為很多新控件也要使用WM_USER消息。 #define WM_MYMESSAGE (WM_USER + 100)第二步:實現(xiàn)消息處理函數(shù)。該函數(shù)使用WPRAM和LPARAM參數(shù)并返回LPESUL

20、T。LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam) { // TODO: 處理用戶自定義消息,填空就是要填到這里。 return 0; },第三步:在類頭文件的AFX_MSG塊中說明消息處理函數(shù):// {{AFX_MSG(CMainFrame) afx_msg LRESULT OnMyMessage(WPARAM wParam, L

21、PARAM lParam); //}}AFX_MSG DECLARE_MESSAGE_MAP() 第四步:在用戶類的消息塊中,使用ON_MESSAGE宏指令將消息映射到消息處理函數(shù)中。 ON_MESSAGE( WM_MYMESSAGE, OnMyMessage )可以看出,用戶自定義的消息和我們通過ClassWizard添加的消息一樣,都是利用了ON_MESSAGE宏,建立的消息映射。,步驟,1)注冊窗口類RegisterC

22、lassEx2)創(chuàng)建窗口CreateWindowEx3)在桌面顯示窗口ShowWindow4)更新窗口客戶區(qū)UpdateWindow5)進入無限的消息獲取和處理的循環(huán)。首先是獲取消息GetMessage,如果有消息到達,則將消息分派到回調(diào)函數(shù)處理DispatchMessage,如果是WM_QUIT,則GetMessage函數(shù)返回FALSE,整個消息循環(huán)結(jié)束。消息的具體處理過程在MainWndProc函數(shù)中進行。,顯示一個窗口的具

23、體步驟,1)注冊窗口類RegisterClassEx2)創(chuàng)建窗口CreateWindowEx3)在桌面顯示窗口ShowWindow4)更新窗口客戶區(qū)UpdateWindow5)進入無限的消息獲取和處理的循環(huán)。首先是獲取消息GetMessage,如果有消息到達,則將消息分派到回調(diào)函數(shù)處理DispatchMessage,如果是WM_QUIT,則GetMessage函數(shù)返回FALSE,整個消息循環(huán)結(jié)束。消息的具體處理過程在MainWn

24、dProc函數(shù)中進行。,顯示一個窗口的具體步驟,typedef struct tagMSG {                  HWND   hwnd;   //消息要發(fā)送的窗口句柄        UINT

25、60;  message; //消息標識符,以WM_開頭的預定義值     WPARAM wParam;//消息的參數(shù)之一    LPARAM lParam ;//消息的參數(shù)之二      DWORD  time;//消息放入消息隊列的時間     POINT

26、0; pt;//這是一個POINT數(shù)據(jù)結(jié)構(gòu),表示消息放入消息隊//列時的鼠標位置} MSG,*PMSG;,MSG結(jié)構(gòu),使用資源菜單和圖標接受鍵盤輸入接受鼠標輸入設(shè)置文本顏色和背景色,4.3 一個簡單打字程序,圖形設(shè)備接口(GDI:Graphics Device Interface)是Windows的子系統(tǒng),它負責在視頻顯示器和打印機上顯示圖形和格式化的文本。設(shè)備環(huán)境(Device Context),4.4 GDI基

27、本圖形,獲取設(shè)備環(huán)境是應(yīng)用程序輸出圖形的先決條件,常用的兩種方法是調(diào)用函數(shù)BeginPaint或GetDC,應(yīng)用程序響應(yīng)WM_PAINT消息進行圖形刷新時,主要通過調(diào)用BeginPaint函數(shù)獲取設(shè)備環(huán)境 hdc=BeginPaint(hwnd,&ps); //ps為PAINTSTRUCT類型結(jié)構(gòu)定義方式為:PAINTSTRUCT ps;,調(diào)用BeginPaint函數(shù),由BeginPaint函數(shù)獲取的設(shè)備

28、環(huán)境要用EndPaint函數(shù)釋放BOOL EndPaint(HWND hwnd, PAINTSTRUCT &ps),如果繪圖工作并非由WM_PAINT消息驅(qū)動,則調(diào)用GetDC函數(shù)獲取設(shè)備環(huán)境。hdc=GetDC(hwnd);,調(diào)用GetDC函數(shù),由GetDC函數(shù)獲取的設(shè)備環(huán)境必須用ReleaseDC函數(shù)釋放 void ReleaseDC(HWND hwnd);,GDI包括幾百個函數(shù)調(diào)用和結(jié)構(gòu),大概可以分為如下幾個大類。

29、獲取和釋放設(shè)備描述表的函數(shù)前面的章節(jié)已經(jīng)較詳細地介紹過這類函數(shù)。例如,函數(shù)GetDC和BeginPaint用于獲取設(shè)備描述表句柄,函數(shù)Release和EndPaint用于釋放該描述表句柄。獲得設(shè)備描述表信息的函數(shù)這類函數(shù)最接近硬件,為了使設(shè)計的程序有更好的適用性和可移植性,最好能在編寫程序時了解硬件設(shè)備信息,使編寫出的程序受硬件的限制和影響盡可能小。讀者已經(jīng)接觸過這類函數(shù),如GetDeviceCaps用于獲取有關(guān)設(shè)備描述表信息,

30、GetTextMetric用于獲取設(shè)備描述表中的字體的信息。,GDI函數(shù)簡介,使用GDI對象的函數(shù)Windows GDI有6種可創(chuàng)建的GDI對象,它們是畫筆、畫刷、位圖、字體、區(qū)域和調(diào)色板。有許多用于創(chuàng)建這些對象的函數(shù)和結(jié)構(gòu),例如,函數(shù)CreatePen用于創(chuàng)建邏輯畫筆,函數(shù)CreateBitmap用于創(chuàng)建GDI位圖。畫筆、畫刷和字體這三種GDI對象已經(jīng)介紹過,在以后的章節(jié)將接觸到其他三種GDI對象。設(shè)置和獲取設(shè)備描述表屬性的函數(shù)

31、設(shè)備描述表的屬性決定有關(guān)繪圖函數(shù)如何工作的細節(jié),并且涉及到程序繪圖的各個方面。這些屬性對應(yīng)用程序的輸出結(jié)果影響很大,使用時要多加斟酌,設(shè)置合適的設(shè)備描述表屬性。,GDI繪圖函數(shù)這些函數(shù)是程序執(zhí)行繪圖工作的真正部分,前面介紹的各類GDI函數(shù)和屬性的使用都是在為使用這類函數(shù)做準備。當然,這類函數(shù)也很多,有畫點、畫線、繪制矩形和橢圓等。,Windows中的幾種坐標體系       1、屏幕坐標  

32、     屏幕坐標描述物理設(shè)備(顯示器、打印機等)的一種坐標體系,坐標原點在屏幕的左上角,X軸向右為正,Y軸向下為正。度量單位是象素。原點、坐標軸方向、度量單位都是不能夠改變的。       2、設(shè)備坐標(又稱物理坐標)       設(shè)備坐標是描述在屏幕和打印機顯示或打印的窗體的一種坐標體系。默認的坐標原點是在其客戶區(qū)的左上角。X軸向右為正,Y軸向下為

33、正。度量單位為象素。原點和坐標軸方向可以改變,但是度量單位不可以改變。       3、邏輯坐標       邏輯坐標是在程序中控制顯示,打印使用的坐標體系。該坐標系與定義的映射模式密切相關(guān)。默認的映射模式是MM_TEXT。我們可以通過設(shè)置不同的映射模式來改變該坐標體系的默認行為。,映像模式定義了將邏輯單位轉(zhuǎn)化為設(shè)備的度量單位以及設(shè)備的x方向和y方向,程序員可在一個統(tǒng)一的邏

34、輯坐標系中操作而不必考慮輸出設(shè)備的坐標系情況。,映射模式,窗口:對應(yīng)邏輯坐標系上程序員設(shè)定的區(qū)域視口:對應(yīng)實際輸出設(shè)備上程序員設(shè)定的區(qū)域,坐標系統(tǒng),,邏輯坐標系統(tǒng),設(shè)備坐標系統(tǒng),應(yīng)用程序可獲取設(shè)備環(huán)境的當前映像模式,并根據(jù)需要設(shè)置映像模式。,相關(guān)函數(shù),設(shè)置設(shè)備環(huán)境的映像模式SetMapMode(hdc,nMapMode); nMapMode為映像模式的整型標識符,獲取當前設(shè)備環(huán)境的映像模式nMapMode=GetMapMo

35、de(hdc);,,窗口區(qū)域的定義由SetWindowExtEx函數(shù)完成,其函數(shù)原型形為:BOOL SetWindowExtEx( HDC hdc, int nHeight, int nWidth, //以邏輯單位表示的窗口區(qū)域高寬度 LPSIZE lpSize, //函數(shù)調(diào)用前窗口區(qū)域尺寸的SIZE結(jié)構(gòu)地址);,視口區(qū)域的定義由SetViewportExtEx函數(shù)完成,函數(shù)原型為:BOOL SetViewpor

36、tExtEx(HDC hdc,int nHeight,//定義域;int nWidth,//值域;以物理設(shè)備單位表示的新視口區(qū)域高寬度LPSIZE lpSize);,只有在映射模式為MM_ANISOTROPIC和MM_ISOTROPIC時才有意義,視口的缺省原點和窗口的缺省原點均為(0,0)。可通過調(diào)用函數(shù)SetViewportOrgEx和SetWindowOrgEx設(shè)定窗口與視口的原點。SetWindowO

37、rgEx函數(shù)的原形為:BOOL SetWindowOrgEx(HDC hdc,int X,Y,//以邏輯單位表示的窗口原點坐標LPPOINT lpPoint//函數(shù)調(diào)用前原點坐標的POINT結(jié)構(gòu)的地址);,繪圖工具與顏色,1. 畫筆,(1) 畫筆的創(chuàng)建 使用畫筆之前必須事先定義一個畫筆句柄。形式如下:HPEN hP;然后調(diào)用函數(shù)GetStockObject獲取Windows系統(tǒng)定義的四種畫筆例如獲取畫筆B

38、LACK_PEN的形式如下: hP=(HPEN)GetStockObject(BLACK_PEN);,WHITE_PENBLACK_PENDC_PENNULL_PEN,(2) 創(chuàng)建新畫筆,形式如下:hP=CreatePen(int nPenStyle,//確定畫筆樣式int nWidth, //畫筆寬度COLORREF rgbColor //畫筆顏色);,創(chuàng)建畫筆后,必須調(diào)用SelectObje

39、ct函數(shù)將其選入設(shè)備環(huán)境。 SelectObject(hdc,hP); //hP為所創(chuàng)建或獲取的畫筆句柄,不再使用當前畫筆時,需刪除畫筆,以免占內(nèi)存 DeleteObject(hP);,PS_DASH:虛線PS_DASHDOT:點劃線PS_DASHDOTDOT:雙點劃線PS_DOT:點線PS_INSIDEFRAME:實線PS_NULL:無PS_SOLID:實線,2. 畫刷

40、 畫刷的創(chuàng)建與應(yīng)用與畫筆很相似,操作畫刷也包括創(chuàng)建、選入設(shè)備環(huán)境和刪除。(1) 畫刷的創(chuàng)建 使用畫刷需事先定義一個畫刷句柄。形式如下: HBRUSH hBr; //hBr為畫刷句柄 然后調(diào)用函數(shù)GetStockObject獲取Windows系統(tǒng)提供的7種畫刷 hBr=(HBRUSH)GetStockObject(nBrushStyle)畫刷樣式,BLACK_BRUSH黑

41、色畫刷DKGRAY_BRUSH深灰色畫刷GRAY_BRUSH灰色畫刷HOLLOW_BRUSH虛畫刷LTGRAY_BRUSH亮灰色畫刷NULL_BRUSH空畫刷WHITE_BRUSH白色畫刷,,指定顏色畫刷如何獲得?,可調(diào)用函數(shù)CreateSolidBrush和CreateHatchBrush創(chuàng)建畫刷,hBr=CreateSolidBrush(rgbColor);,創(chuàng)建具有指定顏色的單色畫刷,創(chuàng)建

42、指定陰影圖案和顏色的畫刷,(2) 選入設(shè)備環(huán)境 創(chuàng)建畫刷后, 通過SelectObject(hdc,hBr);將其選入設(shè)備環(huán)境(3) 刪除畫刷 不使用畫刷時,可用DeleteObject(hBr);刪除畫刷,釋放內(nèi)存,3.顏色,Windows使用宏RGB定義繪圖的顏色,其形式為: RGB(nRed, nGreen,nBlue),紅色值,藍色值,綠色值,RGB(255,0,0),RGB(0,255,0)

43、,RGB(0,0,255),4. 繪制橢圓弧線的函數(shù)Arc,BOOL Arc(HDC hdc,int X1,intY1,//邊框矩形左上角的邏輯坐標int X2,int Y2,//邊框矩形右下角的邏輯坐標int X3,int Y3,//橢圓弧起始點坐標int X4,int Y4//橢圓弧終止點坐標),,,,5. 繪制餅圖,并用當前畫刷進行填充BOOL Pie(HDC hdc,int X1,intY

44、1,//邊框矩形左上角的邏輯坐標int X2,int Y2,//邊框矩形右下角的邏輯坐標int X3,int Y3,//橢圓弧起始經(jīng)線的確定點坐標int X4,int Y4//橢圓弧終止經(jīng)線的確定點坐標),,,,6. 繪制矩形,并用當前畫刷進行填充BOOL Rectangle(HDC hdc,int X1,int Y1,int X2,int Y2),(X1,Y1)和(X2,Y2)分別為矩形的左上角和右下角的邏輯

45、坐標,,7. 繪制圓角矩形,并用當前畫刷填充BOOL RoundRect (HDC hdc,int X1,int Y1,int X2,int Y2, int nHeight, int nWidth),,圓角的高度和寬度,8. 繪制橢圓,并用當前畫刷填充 BOOL

46、Ellipse(HDC hdc,intX1,intY1,intX2,intY2),9.繪制多邊形,并用當前畫刷填充BOOL Polygon(HDC hdc,LPPOINT lpPoints,int nCount),包含各點坐標的POINT數(shù)組的地址,多邊形點的個數(shù),1.編程思路,4.4 實例—小時鐘,2.定時器UNIT_PTR SetTimer(HWND hWnd,//與此定時器關(guān)聯(lián)的窗口的句柄UINT_PTR nIDEve

47、nt,//指定定時器ID號UINT uElapse,//指定一個超時值TIMERPROC lpTimerFunc//指定一個回調(diào)函數(shù),//Windows會調(diào)用這個函數(shù)通知你的應(yīng)用程序,如//果為NULL,Windows則會向程序消息隊列投遞//WM_TIMER消息),4.4 實例—小時鐘,關(guān)閉定時器KillTimer(HWND hWnd, //關(guān)聯(lián)窗口句柄UINT_PTR nIDEvent//定時器ID);,結(jié) 束

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論