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

正文內(nèi)容

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

2025-02-15 17:22 本頁面
 

【文章內(nèi)容簡介】 UpdateWindow(hwnd) 。 //更新窗口,繪制窗口客戶區(qū) 本段程序建立并顯示一個窗口 while (GetMessage (amp。msg, NULL, 0, 0)) { TranslateMessage (amp。msg) 。 DispatchMessage (amp。msg) 。 } return 。 } Windows程序 的消息循環(huán) LRESULT CALLBACK WndProc ( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc 。 PAINTSTRUCT ps 。 RECT rect 。 窗口處理函數(shù),是一個回調(diào)函數(shù),每個應(yīng)用程序至少有一個窗口處理函數(shù),窗口函數(shù)的參數(shù)由Windows傳遞,這些參數(shù)是由事件消息產(chǎn)生的 。 switch (message){ //消息處理 case WM_CREATE: return 0。 case WM_PAINT: hdc = BeginPaint(hwnd, amp。ps)。 GetClientRect(hwnd,amp。rect)。 DrawText(hdc,Hello,Windows API,1, amp。rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) 。 EndPaint (hwnd,amp。ps)。 return 0。 case WM_DESTROY: PostQuitMessage(0)。 return 0。 } return DefWindowProc(hwnd,message,wParam,lParam)。 } Windows程序的控制流程 ? 所有 Windows應(yīng)用程序具有相同的程序結(jié)構(gòu)和執(zhí)行控制流程,步驟如下: ( 1)創(chuàng)建全局變量 ( 2)程序入口函數(shù) WinMain()函數(shù)接收控制 ( 3) WinMain()登記窗口 ( 4) WinMain()建立窗口 ( 5) WinMain()進(jìn)入消息循環(huán) ( 6)當(dāng)窗口中有事件發(fā)生時,事件消息進(jìn)入消息循環(huán)隊列 ( 7) windows操作系統(tǒng)分析消息,調(diào)用該窗口的窗口函數(shù)進(jìn)行處理。 ( 8) WinMain函數(shù)退出,程序終止。 如下圖所示 ? Windows API程序的控制程 – 創(chuàng)建全局變量 – 程序入口函數(shù) WinMain()函數(shù)接收控制 – WinMain()登記窗口 – WinMain()建立窗口 – WinMain()進(jìn)入消息循環(huán) – 當(dāng)窗口中有事件發(fā)生時,事件消息進(jìn)入消息循環(huán)隊列 – windows操作系統(tǒng)分析消息,調(diào)用該窗口的窗口函數(shù)進(jìn)行處理。 – WinMain函數(shù)退出,程序終止。 初始化所有 全局對象 WinMain() 登記窗口 建立窗口 消息 循環(huán) Hello,Windows API 顯示窗口 程序出口: WM_QUIT Windows程序的控制流程 int WINAPI WinMain (hIns, hPrevI,...){ MSG msg 。 RegisterClass (amp。wndclass) CreateWindow (...) 。 ShowWindow (hwnd, iCmdShow) 。 UpdateWindow (hwnd) 。 while (GetMessage (amp。msg, NULL, 0, 0)) { TranslateMessage (amp。msg) 。 DispatchMessage (amp。msg) 。 } return 。 } LRESULT CALLBACK WndProc (hwnd, message, wParam, lParam) { switch (message) { case WM_CREATE: case WM_COMMAND: case WM_LBUTTONDOWN: case WM_PAINT: case WM_CLOSE: case WM_DESTROY: } return DefWindowProc (hwnd, message, wParam, lParam) 。 } system message queue application message queue Message from others windows postMessage() Windows User modute Windows程序的控制流程 ? 接下來將對 API程序的建立、執(zhí)行流程進(jìn)行進(jìn)一步的剖析。借此理解 Windows程序的結(jié)構(gòu),事件驅(qū)動和消息循環(huán)的本質(zhì)。 DOS平臺的 C程序的入口點(diǎn)是 main()函數(shù),在WINDOW的 C++程序的入口點(diǎn)是 WinMain()函數(shù)。其定義形式為: int APIENTRY WinMain( HINSTANCE hInstance,// HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) 實(shí)例句柄,當(dāng)程序在 WINDOWS下運(yùn)行時,它唯一地標(biāo)識該程序 當(dāng)程序在 WINDOWS下有多個副本運(yùn)行時,它標(biāo)識該程序的前一個副本 標(biāo)識傳給該程序的命令行參數(shù),近似于 main()函數(shù)的 char *argv[ ] 指針窗口在 Window中的顯示方式,其值為 17,如:值 1表示SW_SHOWNORMAL //窗口以常規(guī)顯示 程序 入口點(diǎn) 窗口總是在窗口類的基礎(chǔ)上創(chuàng)建的,窗口類標(biāo)識了處理窗口消息的窗口過程,這是非常重要的。 記住:窗口總是在窗口類的基礎(chǔ)上創(chuàng)建的,窗口類用于標(biāo)處理窗口消息的窗口過程。 在創(chuàng)建窗口之前,必須先調(diào)用 RegisterClass函數(shù)登錄一個窗口類,以后可以基于這個已登錄的窗口創(chuàng)建多個窗口。 只有程序的第一個實(shí)例需要登錄窗口類! 例 101的登錄窗口如下: 注冊 窗口類 WNDCLASS wndclass 。 = CS_HREDRAW | CS_VREDRAW 。 = WndProc 。 = 0 。 = 0 。 = hInstance 。 = LoadIcon (NULL, IDI_APPLICATION) 。 = LoadCursor (NULL, IDC_ARROW) 。 = (HBRUSH) GetStockObject (WHITE_BRUSH) 。 = NULL 。 = szAppName 。 if (!RegisterClass (amp。wndclass)) { MessageBox (NULL, “This program …… !, szAppName, MB_ICONERROR) 。 return 0 。 } 發(fā)生在本窗口中的事件由WndProc處理,這是 WinMain與窗口函數(shù)的 關(guān)聯(lián)! 創(chuàng)建 窗口 hwnd = CreateWindow ( szAppName, // window class name TEXT (The Hello Program), // window caption WS_OVERLAPPEDWINDOW, // window style CW_USEDEFAULT, // initial x position CW_USEDEFAULT, // initial y position CW_USEDEFAULT, // initial x size CW_USEDEFAULT, // initial y size NULL, // parent window handle NULL, // window menu handle hInstance, // program instance handle NULL ) 。 // creation parameters if (!hWnd) { return FALSE。 } //建立窗口失敗 顯示 窗口 ShowWindow(hWnd, nCmdShow)。 UpdateWindow(hWnd)。 hWnd是前面創(chuàng)建的窗口的句柄 nCmdShow是窗口顯示的方式,缺省值為 1即:SW_SHOWNORMAL hWnd是前面創(chuàng)建的窗口的句柄,該函數(shù)產(chǎn)生 WM_PAINT消息,導(dǎo)致窗口被重繪 進(jìn)入消息循環(huán) 調(diào)用 UpdateWindow(hWnd)。函數(shù)之后,窗口就顯示在顯示屏幕上,這時程序就進(jìn)入了 消息循環(huán) ,等待用戶用鍵盤或鼠標(biāo)操作窗口,產(chǎn)生消息。產(chǎn)生的消息將被放入消息隊列:
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1