freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]ch(1)(已修改)

2025-01-31 17:22 本頁面
 

【正文】 第 10章 C++ Windows程序設(shè)計(jì)基礎(chǔ) ? Windows系統(tǒng)是一個(gè)基于視窗的消息驅(qū)動(dòng)系統(tǒng),即使功能大異的 Windows程序都有比較規(guī)范統(tǒng)一的程序界面,如窗口、菜單、工具條、對(duì)話框等。 Windows程序的設(shè)計(jì)其實(shí)比較規(guī)范,但若不了解 Windows程序的基本結(jié)構(gòu),程序調(diào)度的基本方法(即消息驅(qū)動(dòng)的基本原理),以及每個(gè)程序都會(huì)用到的基本數(shù)據(jù)結(jié)構(gòu),也很難編寫出有用的 Windows程序來。 ? 之所以在本章介紹 API程序,就是基于上述考慮而設(shè)計(jì)的,盡管 API程序設(shè)計(jì)在實(shí)際編程過程中已越來越少用了,但它卻是理解 Windows程序設(shè)計(jì)基本原理的最佳捷徑,因?yàn)樗蠾indows程序的結(jié)構(gòu)和執(zhí)行過程最終大同于 API程序。在此基礎(chǔ)上學(xué)習(xí) MFC及其它在 Windows程序設(shè)計(jì)語言如 JAVA,都是大有幫助的! ? “ 磨刀不誤砍柴功! ” ,不是嗎? Windows程序設(shè)計(jì)基礎(chǔ) 1. Windows系統(tǒng)的特點(diǎn) ? 標(biāo)準(zhǔn)的用戶界面 ? 多任務(wù) ? 設(shè)備獨(dú)立性 ? 動(dòng)態(tài)鏈接 ? 強(qiáng)大的內(nèi)存管理 Windows程序設(shè)計(jì)基礎(chǔ) 2. 基本術(shù)語 – 窗口( Window)由句柄唯一標(biāo)識(shí) – 對(duì)話框( Dialog)人機(jī)交互 – 圖標(biāo)( Icon)代表某一項(xiàng)操作或程序的圖符 – 位圖( Bitmap)用位模式形成的圖像 – 菜單( Menu)命令 – 工具欄( ToolBar)常用的菜單項(xiàng) – 狀態(tài)欄( StateBar)操作狀態(tài)或操作提示 窗口 – 窗口是 Windows程序的基本單元, Windows程序的運(yùn)行過程就是窗口內(nèi)部、窗口之間及窗口與用戶之間的信息交換過程。窗口通常包括菜單、工具條、滾動(dòng)條、狀態(tài)欄、命令按鈕、對(duì)話框等元素。 事件驅(qū)動(dòng)和消息響應(yīng) 1. 事件 – 事件是指人們應(yīng)用計(jì)算機(jī)的過程中發(fā)生的操作,如按下鍵盤上的某個(gè)按鍵、移動(dòng)鼠標(biāo)、單擊鼠標(biāo)左鍵、移動(dòng)窗口及選擇程序菜單等操作都是事件。 事件驅(qū)動(dòng) – 每發(fā)生一個(gè)事件,就會(huì)產(chǎn)生一個(gè)與之對(duì)應(yīng)的特定消息,該消息會(huì)被 Windows系統(tǒng)捕獲,然后將通過此消息調(diào)用執(zhí)行與之對(duì)應(yīng)的程序代碼,實(shí)現(xiàn)相應(yīng)的程序功能。 – 因?yàn)閺氖录l(fā)生到相應(yīng)程序代碼被調(diào)用執(zhí)行都是通過消息來實(shí)現(xiàn)的,因此事件驅(qū)動(dòng)也常被稱為消息驅(qū)動(dòng) 事件驅(qū)動(dòng)和消息響應(yīng) 消息隊(duì)列 – 用于存放消息的隊(duì)列,消息系統(tǒng)由 Windows系統(tǒng)自動(dòng)建立和維護(hù)。 – Windows消息隊(duì)列的類型 ? 系統(tǒng)消息隊(duì)列:由 Windows系統(tǒng)維護(hù)管理的消息隊(duì)列,每當(dāng)有消息發(fā)生時(shí),該消息將首先被存入系統(tǒng)消息隊(duì)列。 ? 應(yīng)用程序消息隊(duì)列: Windows系統(tǒng)會(huì)為每個(gè)應(yīng)用程序建立一個(gè)獨(dú)立的消息隊(duì)列,用于存放該應(yīng)用程序的消息。 事件驅(qū)動(dòng)和消息響應(yīng) 消息循環(huán) 每個(gè)應(yīng)用程序都有一個(gè)循環(huán)機(jī)構(gòu),該循環(huán)機(jī)構(gòu)則不斷地重復(fù)查看程序自身的消息隊(duì)列,如果隊(duì)列中有消息,就將其取出并執(zhí)行相應(yīng)的消息處理代碼,這個(gè)處理消息的循環(huán)機(jī)構(gòu)稱為消息循環(huán)。 事件驅(qū)動(dòng)和消息響應(yīng) 消息循環(huán) 每個(gè)應(yīng)用程序都有一個(gè)循環(huán)機(jī)構(gòu),該循環(huán)機(jī)構(gòu)則不斷地重復(fù)查看程序自身的消息隊(duì)列,如果隊(duì)列中有消息,就將其取出并執(zhí)行相應(yīng)的消息處理代碼,這個(gè)處理消息的循環(huán)機(jī)構(gòu)稱為消息循環(huán)。 事件驅(qū)動(dòng)和消息響應(yīng) Windows程序調(diào)度的基本原理 每個(gè) Windows程序啟動(dòng)后,就等待用戶在其窗口中進(jìn)行操作。每個(gè)操作會(huì)引發(fā)一個(gè)事件,就會(huì)產(chǎn)生一個(gè)與之對(duì)應(yīng)的特定消息。該消息會(huì)被 Windows系統(tǒng)捕獲。 Windows系統(tǒng)對(duì)捕獲的消息進(jìn)行分析后,會(huì)將消息傳遞給產(chǎn)生它的應(yīng)用程序的消息隊(duì)列,每個(gè)應(yīng)用程序的消息循環(huán)機(jī)構(gòu)不斷地重復(fù)查看它自已的消息隊(duì)列,如果隊(duì)列中有消息,就將其取出并執(zhí)行相應(yīng)的消息處理代碼, 如果隊(duì)列中沒有消息就等待,當(dāng)隊(duì)列中有消息時(shí)就又處理它,如此循環(huán)往復(fù),直至程序結(jié)束。 事件驅(qū)動(dòng)和消息響應(yīng) 事件驅(qū)動(dòng)及消息循環(huán)的基本原理 事件驅(qū)動(dòng)和消息響應(yīng) DOS和 Windows程序執(zhí)行方式對(duì)比 Windows程序 的文件構(gòu)成 Windows程序的組成 ? 程序代碼 – 程序代碼是程序的主體,用于實(shí)現(xiàn)程序的功能 ? 資源 – Windows程序具有標(biāo)準(zhǔn)規(guī)范的應(yīng)用程序界面,每個(gè)Windows程序常常包含了許多相同的組成元素,如菜單、對(duì)話框、工具欄、應(yīng)用程序圖標(biāo)、鼠標(biāo)光標(biāo)、程序版本信息等,這些組成元素被 Windows從程序代碼中獨(dú)立出來,并以各種不同擴(kuò)展名的文件形式存在,如 .ico(圖標(biāo))、 .bmp(位圖)、 .cur(光標(biāo))等, Windows系統(tǒng)稱之為資源 – 資源則可以在需要時(shí)才通過相關(guān)命令 加載 到程序中。 .lib C runtime Dll import .RC 資源編譯器 .DLG Dialog Editor *.obj *.exe .res .DEF 資源連接器 Image Editor Font Editor .BMP .ICO .CUR .FON .h .c/cpp c編譯器 Window程序的編譯鏈接過程 VC++的 Windows程序設(shè)計(jì)方法 1. API程序設(shè)計(jì) – API即 Application Programming Interface( 應(yīng)用程序編程接口 ) , 它是 Windows操作系統(tǒng)和 Windows應(yīng)用程序之間的標(biāo)準(zhǔn)接口 , 在應(yīng)用程序中可以通過API訪問 Windows提供的各種函數(shù) 、 宏及數(shù)據(jù)結(jié)構(gòu) 。 – API函數(shù)保存在一些動(dòng)態(tài)鏈接庫(kù)中 , 每個(gè) Windows程序都要用到的動(dòng)態(tài)鏈接庫(kù)有 、 、。 – API程序設(shè)計(jì)就是直接利用 Windows系統(tǒng)提供的 API函數(shù) , 編寫能夠在 Windows系統(tǒng)中運(yùn)行的程序 。 VC++的 Windows程序設(shè)計(jì)方法 2. MFC程序設(shè)計(jì) – MFC是 Microsoft Foundation Classes的縮寫 , 即微軟基礎(chǔ)類庫(kù) 。 MFC是建立在 API基礎(chǔ)上的 C++類庫(kù) ,它對(duì) Windows提供的 API函數(shù) 、 數(shù)據(jù)結(jié)構(gòu) 、 各種控件按功能進(jìn)行了分類 , 利用面向?qū)ο蠹夹g(shù)將它們封裝在不同的類中 , 并通過繼承將這些類組織在一起 。 – MFC不僅把 API函數(shù)封裝成了易于使用的類 , 而且還提供了建立 Windows應(yīng)用程序的框架結(jié)構(gòu) , 以及建立應(yīng)用程序的各種組件 , 簡(jiǎn)化了 Windows程序設(shè)計(jì)的難度 1. 句柄 – 句柄是整個(gè) Windows編程的基礎(chǔ)。一個(gè)句柄是指 Windows使用的一個(gè)唯一的整數(shù)值,是一個(gè) 4字長(zhǎng)( 32位無符號(hào)整數(shù)) 的數(shù)值,用于標(biāo)識(shí)應(yīng)用程序中不同的對(duì)象和同類對(duì)象中不同的實(shí)例。 – 如標(biāo)識(shí)一個(gè)窗口、按鈕、圖標(biāo)、滾動(dòng)條、輸入 /輸出設(shè)備、控件或文件等。 – 應(yīng)用程序通過句柄能夠訪問相應(yīng)的對(duì)象信息。 Windows程序設(shè)計(jì)的常用數(shù)據(jù)結(jié)構(gòu) ? 常用的句柄類型 – HWND 標(biāo)識(shí)窗口句柄 – HINSTANCE 標(biāo)識(shí)當(dāng)前實(shí)例句柄 – HCURSOR 標(biāo)識(shí)光標(biāo)句柄 – HFONT 標(biāo)識(shí)字體句柄 – HPEN 標(biāo)識(shí)畫筆句柄 – HBRUSH 標(biāo)識(shí)畫刷句柄 – HDC 標(biāo)識(shí)設(shè)備環(huán)境句柄 – HBITMAP 標(biāo)識(shí)位圖句柄 – HICON 標(biāo)識(shí)圖標(biāo)句柄 – HMENU 標(biāo)識(shí)菜單句柄 – HFILE 標(biāo)識(shí)文件句柄 Windows程序設(shè)計(jì)的常用數(shù)據(jù)結(jié)構(gòu) 2. 常用數(shù)據(jù)類型 關(guān)鍵字 類型 等價(jià)于 BOOL 邏輯類型 int BOOLEAN 邏輯 BYTE BYTE 字節(jié) unsinged char CHAR 字符 char DOUBLE 雙精度 double DWORD 雙字 unsigned long FLOAT 浮點(diǎn)數(shù) float HANDLE 句柄 Windows程序設(shè)計(jì)的常用數(shù)據(jù)結(jié)構(gòu) INT 整數(shù) int LONG 長(zhǎng)整數(shù) long SHORT 短整數(shù) short UCHAR 無符號(hào)字符 unsinged char UINT 無符號(hào)整數(shù) unsinged int ULONG 無符號(hào)長(zhǎng)整數(shù) unsigned long USHORT 無符號(hào)短整數(shù) unsigend short VOID void WCHAR 雙字節(jié)碼 unsigned short WCHAR_T 雙字節(jié)碼 unsigned short WORD 字 unsigned short WPARAM 消息參數(shù) UINT LPARAM 消息參數(shù) LONG LRESULT 消息返回值 LONG HINSTANCE 實(shí)例句柄 unsigned long HWAND 窗口句柄 unsigned long HDC 設(shè)備環(huán)境句柄 unsigned long TCHAR 字符 char LPSTR 字符指針 char * LPCSTR 常量字符指針 const char* LPTSTR 字符指針 TCHAR * LPVOID 無類型指針 void * LPCVOID 無類型長(zhǎng)指針 const void * 3. 點(diǎn)和矩形區(qū)域 ( 1)坐標(biāo)結(jié)構(gòu) typedef struct tagPOINT { LONG x。 LONG y。 } POINT。 在 MFC中還有一個(gè)類 Cpoint,與 POINT結(jié)構(gòu)近似,但它有許多成員函數(shù)。 ( 2)長(zhǎng)、寬尺寸結(jié)構(gòu): CSIZE, Csize; typedef struct tagSIZE { int cx。 int cy。 } SIZE。 Windows程序設(shè)計(jì)的常用數(shù)據(jù)結(jié)構(gòu) ( 3)、記錄矩形區(qū)域結(jié)構(gòu) RECT和 Crect typedef struct tagRECT { LONG left。 LONG top。 LONG right。 LONG bottom。 } RECT。 在 MFC中 Crect 與此類似,但有成員函數(shù)。 LPRECT 為指針 RECT類型的常數(shù)指針。 ( 4)、顏色 COLORREF 32bit value used to specify an RGB color. 例: COLORREF RGB(BYTE bRed,BYTE bGreen,BYTE Bblue)。 消息結(jié)構(gòu): MSG typedef struct tagMSG { HWND hwnd。 //消息發(fā)向的窗口句柄 UINT message。 //消息標(biāo)識(shí)符 ,
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1