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

正文內(nèi)容

第4講windows編程機(jī)制(1)-文庫(kù)吧

2025-04-22 10:54 本頁(yè)面


【正文】 int iRunStop。 person ZhangSan。 = 張三 。 = 72。 cout姓名 : endl。 cout跑步前心跳 endl。 iRunStop = ()。 cout跑步后心跳 iRunStopendl。 } 21 SDK編程 C庫(kù)提供了許多函數(shù),可以直接使用。如 DeleteFile函數(shù)來(lái)刪除一個(gè)文件。 include include int main() { DeleteFile(C:\\)。 printf(刪除成功 \n)。 return 0。 } 22 Windows內(nèi)部機(jī)制 Windows是一個(gè)“ 基于事件的,消息驅(qū)動(dòng)的 ”操作系統(tǒng)。在 Windows下執(zhí)行一個(gè)程序,只要用戶進(jìn)行了影響窗口的動(dòng)作(如改變窗口大小或移動(dòng)、單擊鼠標(biāo)等)該動(dòng)作就會(huì)觸發(fā)一個(gè)相應(yīng)的“事件”。 系統(tǒng)每次檢測(cè)到一個(gè)事件時(shí),就會(huì)給程序發(fā)送一個(gè)“消息”,從而使程序可以處理該事件。 每次檢測(cè)到一個(gè)用戶事件,程序就對(duì)該事件做出響應(yīng),處理完以后,再等待下一個(gè)事件的發(fā)生。 23 Windows應(yīng)用程序、操作系統(tǒng)、計(jì)算機(jī)硬件之間的相互關(guān)系 應(yīng)用程序 操作系統(tǒng) 輸入輸出設(shè)備 ③ ④ ① ② 消息隊(duì)列 Windows程序內(nèi)部運(yùn)行原理 24 關(guān)于消息及消息隊(duì)列 操作系統(tǒng)是怎樣將感知到的事件傳遞給應(yīng)用程序的呢?這是通過(guò) 消息機(jī)制 (Message)來(lái)實(shí)現(xiàn)的。操作系統(tǒng)將每個(gè)事件都包裝成消息的結(jié)構(gòu)體 MSG來(lái)傳遞給應(yīng)用程序, MSG結(jié)構(gòu)定義如下: typedef struct tagMSG { HWND hWnd。 // 目標(biāo)窗口句柄 UINT message。 // 消息標(biāo)識(shí) WPARAM wParam。 // 消息參數(shù) 1( 附加信息 , 16位 ) LPARAM lParam。 // 消息參數(shù) 2( 附加信息 , 32位 ) DWORD time。 // 消息發(fā)送時(shí)間 POINT pt。 // 消息發(fā)送時(shí)鼠標(biāo)的屏幕坐標(biāo) } MSG。 25 從變量類型區(qū)分變量用途 int x,y。 x=30。 y=30。 //x和 y既可以用來(lái)表示坐標(biāo)點(diǎn),也可以用來(lái)表示寬度和高度,還可以用來(lái)表示身高和體重。 typedef int WIDTH typedef int HEIGHT WIDTH x。 HEIGHT y。 //好處: 我們從變量的類型上就可以知道 x和 y是用來(lái)表示寬度和高度。 26 編寫窗口應(yīng)用程序 include int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MessageBox (NULL, Hello, Windows!, HelloMsg, MB_OK) 。 return 0 。 } 在 project中選 Win32 Application 示例 1 27 WinMain函數(shù) Windows程序的入口函數(shù) int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // mand line int nCmdShow // window show state )。 28 編寫窗口應(yīng)用程序 hInstance :是當(dāng)前實(shí)例的句柄 這里表示應(yīng)用程序本身; hPrevInstance:總是為 NULL。 在 Windows早期版本中,當(dāng)多次同時(shí)運(yùn)行同一個(gè)程序時(shí),系統(tǒng)會(huì)創(chuàng)建該程序的多個(gè)“實(shí)例”,同一程序的所有實(shí)例共享代碼和內(nèi)存。程序需要檢查 hPrevInstance來(lái)判斷自身的其他實(shí)例是否正在運(yùn)行,以便從已經(jīng)存在的實(shí)例中獲取數(shù)據(jù)。在 32位版本中,統(tǒng)一程序運(yùn)行方式改變了,不再需要了! 29 編寫窗口應(yīng)用程序 lpCmdLine:是運(yùn)行程序的命令行 用于接受并存放程序運(yùn)行時(shí)所需的參數(shù) nCmdShow:用于指定程序窗口最初的顯示模式 可以正常顯示,也可以在初始化就最大化或者最小化。 30 窗口的創(chuàng)建 創(chuàng)建一個(gè)完整的窗口需要經(jīng)過(guò)下面四個(gè)操作步驟: 1. 設(shè)計(jì)一個(gè)窗口類; 2. 注冊(cè)窗口類; 3. 創(chuàng)建窗口; 4. 顯示及更新窗口。 31 設(shè)計(jì)窗口類 typedef struct _WNDCLASS { UINT style。 //窗口樣式 WNDPROC lpfnWndProc。 //指向窗口過(guò)程函數(shù) int cbClsExtra。 //窗口類的附加內(nèi)存空間 (0) int cbWndExtra。 //窗口的附加內(nèi)存空間 (0) HANDLE hInstance。 //指向程序的實(shí)例句柄 HICON hIcon。 //指向圖標(biāo)的句柄 HCURSOR hCursor。 //指向光標(biāo)的句柄 HBRUSH hbrBackground。 //背景畫(huà)刷句柄 LPCTSTR lpszMenuName。 //菜單資源名 LPCTSTR lpszClassName。 //指定窗口類的名稱 } WNDCLASS。 32 --窗口類的類型 補(bǔ)充知識(shí): 在程序中經(jīng)常要用到一類變量,這個(gè)變量里的每一位(bit)都對(duì)應(yīng)某一種特性。當(dāng)該變量的某位為 1時(shí),表示有該位對(duì)應(yīng)的那種特性,當(dāng)該位為 0時(shí),即沒(méi)有該位所對(duì)應(yīng)的特性。當(dāng)變量中的某幾位同時(shí)為 1時(shí),就表示同時(shí)具有幾種特性的組合。一個(gè)變量中的哪一位代表哪種意義,不容易記憶,所以我們經(jīng)常根據(jù)特征的英文拼寫的大寫去定義一些宏,該宏所對(duì)應(yīng)的數(shù)值中僅有與該特征相
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1