VisualC面向?qū)ο笈c可視化程序設(shè)計(jì)02.ppt
《VisualC面向?qū)ο笈c可視化程序設(shè)計(jì)02.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《VisualC面向?qū)ο笈c可視化程序設(shè)計(jì)02.ppt(35頁珍藏版)》請?jiān)趨R文網(wǎng)上搜索。
1、1,第2講 Windows 應(yīng)用程序基礎(chǔ),2,可視化開發(fā)系統(tǒng)集成了一系列系統(tǒng)可用資源和開發(fā)工具,一、Windows編程基礎(chǔ),3,采用交互式方法時(shí),可視化開發(fā)平臺(tái)給出了許多選用的對象,程序員可選擇所需對象并確定其屬性,由此搭建起應(yīng)用程序的“大框架”,并可根據(jù)需要進(jìn)一步編寫必要的細(xì)節(jié)代碼段,最后構(gòu)成完整的應(yīng)用程序,編寫Windows程序相當(dāng)一部分工作是在創(chuàng)建對象和為對象屬性賦值,對象特征:具有規(guī)范形態(tài)和操作模式,4,API,API函數(shù)的功能,5,利用Windows API函數(shù)編寫Windows應(yīng)用程序必須首先了解以下內(nèi)容:(1)窗口的概念(2)事件驅(qū)動(dòng)的概念(3)句柄(4)消息,6,(1) 窗口一
2、個(gè)應(yīng)用程序的窗口一般包含下列成分:,7,編寫一個(gè)Windows應(yīng)用程序首先應(yīng)創(chuàng)建一個(gè)或多個(gè)窗口,隨后應(yīng)用程序的運(yùn)行過程即是窗口內(nèi)部、窗口與窗口之間、窗口與系統(tǒng)之間進(jìn)行數(shù)據(jù)處理與數(shù)據(jù)交換的過程。,應(yīng)用程序與用戶之間交互的接口環(huán)境,系統(tǒng)管理應(yīng)用程序的基本單位,Win應(yīng)用程序基本的操作單元,8,Windows程序設(shè)計(jì)是針對事件或消息的處理進(jìn)行,消息是描述事件發(fā)生的信息(如按下鼠標(biāo)或鍵盤),事件驅(qū)動(dòng)編程方法對于編寫交互式程序很有用處,它避免了死板的操作模式,Windows程序的執(zhí)行順序取決于事件發(fā)生的順序,程序的執(zhí)行順序是由順序產(chǎn)生的消息驅(qū)動(dòng)的,但是消息的產(chǎn)生往往并不要求有次序之分。,(2)事件驅(qū)動(dòng),
3、9,常用句柄類型及其說明,(3) 句柄,應(yīng)用程序通過句柄訪問相應(yīng)的對象信息,HWND窗口句柄HDC設(shè)備環(huán)境句柄HBITMAP位圖句柄HCURSOR光標(biāo)句柄HICON圖標(biāo)句柄HFONT字體句柄HMENU菜單句柄HPEN畫筆句柄HFILE文件句柄HBRUSH畫刷句柄HINSTANCE當(dāng)前實(shí)例句柄,10,Windows應(yīng)用程序利用Windows消息(Message)與應(yīng)用程序及系統(tǒng)進(jìn)行信息交換。,typedef struct tagMSG HWND hwnd;窗口句柄,為null,則可檢索所有駐留在消息隊(duì)列中的消息 UINT message;消息值,由Windows.h頭文件中的宏定義來標(biāo)識 WPA
4、RAM wParam;包含有關(guān)消息的附加信息,不同消息其值有所不同 LPARAM lParam; DWORD time; 指定消息送至隊(duì)列的時(shí)間 POINT pt;指定消息發(fā)送時(shí)屏幕光標(biāo)的位置, 其數(shù)據(jù)類型POINT也是一個(gè)結(jié)構(gòu)體MSG;,附加信息與具體消息號的值有關(guān),在Win中消息用結(jié)構(gòu)體MSG表示,typedef struct tagPOINT LONG x; LONG y; POINT;,(4) 消息,11,(4) 消息 VC中存在幾種系統(tǒng)定義的消息分類,不同的前綴符號經(jīng)常用于消息宏識別消息附屬的分類,系統(tǒng)定義的消息宏前綴如下:,BM表示按鈕控制消息CB表示組合框控制消息DM表示默認(rèn)下壓
5、式按鈕控制消息EM表示編輯控制消息LB表示列表框控制消息SBM表示滾動(dòng)條控制消息WM表示窗口消息,窗口管理消息初始化消息輸入消息系統(tǒng)消息剪貼板消息控制處理消息控制通知消息滾動(dòng)條通知消息非用戶區(qū)消息MDI消息DDE消息應(yīng)用程序自定義的消息,Windows編程常用消息,12,二、Windows應(yīng)用程序常用消息,1. WM_LBUTTONDOWN:產(chǎn)生單擊鼠標(biāo)左鍵的消息,此外,相似的消息還有:WM_LBUTTONUP:放開鼠標(biāo)左鍵時(shí)產(chǎn)生;WM_RBUTTONDOWN:單擊鼠標(biāo)右鍵時(shí)產(chǎn)生;WM_RBUTTONUP:放開鼠標(biāo)右鍵時(shí)產(chǎn)生;WM_LBUTTONDBLCLK:雙擊鼠標(biāo)左鍵時(shí)產(chǎn)生;WM_RBUT
6、TONDBLCLK:雙擊鼠標(biāo)右鍵時(shí)產(chǎn)生。,13,2. WM_KEYDOWN:按下一個(gè)非系統(tǒng)鍵時(shí)產(chǎn)生的消息,系統(tǒng)鍵是指實(shí)現(xiàn)系統(tǒng)操作的組合鍵,例如Alt與某個(gè)功能鍵的組合以實(shí)現(xiàn)系統(tǒng)菜單操作等。,3. WM_ CHAR:按下一個(gè)非系統(tǒng)鍵時(shí)產(chǎn)生的消息,wParam 為按鍵的ASCII碼1Param 與WM_KEYDOWN的相同,wParam:按下鍵的虛擬鍵碼,用以標(biāo)識按下或釋放的鍵1Param:記錄了按鍵的重復(fù)次數(shù)、掃描碼、轉(zhuǎn)移代碼、先前鍵的狀態(tài)等信息。,相似的消息還有WM_KEYUP, 在放開非系統(tǒng)鍵時(shí)產(chǎn)生,如F1的虛擬鍵碼在Windows.h文件中定義為VK_F1,14,4. WM_CREATE:
7、由CreateWindow函數(shù)發(fā)出的消息,wParam:未用1Param:包含一個(gè)指向CREATESTRUCT數(shù)據(jù)結(jié)構(gòu)的指針,5. WM_CLOSE:關(guān)閉窗口時(shí)產(chǎn)生的消息,wParam和1Param均未用。,6. WM_DESTROY:由DestroyWiodow函數(shù)發(fā)出的消息,wParam和1Param均未用。,15,7. WM_QUIT:由PostQuitMessage函數(shù)發(fā)出的消息,退出應(yīng)用程序時(shí)發(fā)出的消息wParam:含退出代碼,標(biāo)識程序退出運(yùn)行時(shí)的有關(guān)信息1Param:未用,8. WM_PAINT,16,三、Windows中的事件驅(qū)動(dòng)程序設(shè)計(jì),過程驅(qū)動(dòng)方法計(jì)算平均成績,事件驅(qū)動(dòng)方法計(jì)
8、算平均成績,17,四、Windows應(yīng)用程序組成及編程步驟,1. 應(yīng)用程序的組成,一個(gè)完整的Windows應(yīng)用程序通常由五種類型的文件組成。,1.C語言源程序文件2.頭文件3.模塊定義文件4.資源描述文件5.項(xiàng)目文件,18,2. 源程序組成結(jié)構(gòu),1. 所有應(yīng)用程序的入口,類似Main函數(shù),2. 完成一系列的定義和初始化,并產(chǎn)生消息循環(huán),WinMain和WndProc是Windows應(yīng)用程序的主體,19,(1) WinMain函數(shù),三個(gè)基本的組成部分:函數(shù)說明、初始化和消息循環(huán),WinMain函數(shù),注意!Win是多任務(wù)管理的,同一應(yīng)用程序的多個(gè)窗口可能會(huì)同時(shí)存,Win系統(tǒng)對每個(gè)窗口的執(zhí)行稱為一個(gè)
9、實(shí)例,并用一個(gè)實(shí)例句柄來唯一標(biāo)識,20,(2) 初始化,(a)窗口類定義,通過給窗口類數(shù)據(jù)結(jié)構(gòu)WNDCLASS賦值完成,該數(shù)據(jù)結(jié)構(gòu)中包含窗口類的各種屬性。窗口類定義常用以下函數(shù):,21,LoadCursor的作用是在應(yīng)用程序中加載一個(gè)窗口光標(biāo)HCURSOR LoadCursor(HINSTANCE hInstance, LPCTSTR lpCursorName),光標(biāo)資源所在的模塊句柄,NULL則使用系統(tǒng)預(yù)定義光標(biāo),光標(biāo)資源名或系統(tǒng)預(yù)定義光標(biāo)標(biāo)識名,應(yīng)用程序調(diào)用函數(shù)GetStockObject獲取系統(tǒng)提供的背景刷HBRUSH GetStockObject(int nBrush);,22,(b)
- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- VisualC 面向 對象 可視化 程序設(shè)計(jì) 02