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

正文內(nèi)容

第4章mfc基本應(yīng)用程序的建立-展示頁

2024-10-29 13:15本頁面
  

【正文】 接庫。這些資源可以被編輯、修改,也可以被其他應(yīng)用程序所共享。 Windows則提供了一個(gè)抽象的接口,稱為圖形設(shè)備接口 (Graphical Device Interface,簡稱 GDI),使得用戶直接利用系統(tǒng)的 GDI函數(shù)就能方便實(shí)現(xiàn)輸入或輸出,而不必關(guān)心與系統(tǒng)相連的外部設(shè)備的類型。許多消息都經(jīng)過了嚴(yán)格的定義,并且適用于所有的應(yīng)用程序。 無論是系統(tǒng)產(chǎn)生的動(dòng)作或是運(yùn)行應(yīng)用程序產(chǎn)生的動(dòng)作,都稱為事件 (Events)產(chǎn)生的消息 (Message)。 ? 如果接收到 WM_QUIT消息,則退出應(yīng)用程序 圖 Ex_HelloWin運(yùn)行結(jié)果 應(yīng)用程序的基本流程,如圖。 Windows應(yīng)用程序接受各種不同的消息。窗口類就是充當(dāng)這些屬性的模板。 CreateWindow創(chuàng)建已注冊窗口類的窗口。 窗口過程函數(shù) WndProc用來接收和處理各種不同的消息, WinMain函數(shù)通常要完成: ? 調(diào)用 API函數(shù) RegisterClass注冊應(yīng)用程序的窗口類。 } return DefWindowProc (hwnd, message, wParam, lParam) 。 case WM_DESTROY: // 當(dāng)窗口關(guān)閉時(shí)產(chǎn)生的消息 PostQuitMessage (0) 。 case WM_LBUTTONDOWN: MessageBox (NULL, 你好,我的 Visual C++世界! , 問候 , 0) 。 // 將消息發(fā)送給窗口過程,這里是 WndProc } return 。 // 轉(zhuǎn)換某些鍵盤消息 DispatchMessage (amp。msg, NULL, 0, 0)) { TranslateMessage (amp。 // 更新窗口,包括窗口的客戶區(qū) // 進(jìn)入消息循環(huán):當(dāng)從應(yīng)用程序消息隊(duì)列中檢取的消息是 WM_QUIT時(shí),則退出循環(huán)。 // 創(chuàng)建窗口的參數(shù) ShowWindow (hwnd, nCmdShow) 。 return 0 。 // 窗口類名 if (!RegisterClass (amp。 = NULL 。 = LoadCursor (NULL, IDC_ARROW) 。 = hInstance 。 = 0 。 // 窗口類 = CS_HREDRAW | CS_VREDRAW 。 // 窗口句柄 MSG msg 。 include LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM)。第二、三個(gè)參數(shù)分別用來指定顯示的消息內(nèi)容和對話框窗口的標(biāo)題,最后一個(gè)參數(shù)用來指定在對話框中顯示的按鈕。 ? MessageBox是一個(gè) Win32 API(Application Programming Interface, 應(yīng)用程序接口 )函數(shù),用來彈出一個(gè)對話框窗口,顯示短信息。 ? 每一個(gè) Windows應(yīng)用程序都需要 ,它還包含了其他的一些Windows頭文件。 ? 輸入上面的代碼,運(yùn)行程序,如圖。 ? 選擇 “ File”?“New”。選中 An empty project項(xiàng)。在 Location下的編輯框中直接鍵入文件夾名稱,或單擊 Browse按鈕 (...)選擇一個(gè)已有的文件夾。單擊 Projects,選中 Win32 Application項(xiàng)。 return 0 。第 4章 MFC基本應(yīng)用程序的建立 Windows編程基礎(chǔ) 編制一個(gè) MFC應(yīng)用程序 使用 MFC AppWizard 使用 ClassWizard Windows應(yīng)用程序 [例 Ex_HelloMsg] 一個(gè)簡單的 Windows應(yīng)用程序。 include int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MessageBox (NULL, 你好,我的 Visual C++世界! , 問候 , 0) 。 } 運(yùn)行上述程序需要進(jìn)行以下步驟: ? 選擇 “ File”?“New”。 ? 在 Project Name框中鍵入項(xiàng)目名稱 Ex_HelloMsg。 ? 單擊 [OK]。單擊 [Finish],單擊 [OK]系統(tǒng)將自動(dòng)創(chuàng)建此應(yīng)用程序。單擊 File標(biāo)簽,在左邊的列表框中選擇 C++ Source File項(xiàng),在右邊的 File框中鍵入 ,單擊 [OK]。 從程序可以看出 : ? 傳統(tǒng)的 DOS程序以 main函數(shù)作為進(jìn)入程序的初始入口點(diǎn),但在 Windows應(yīng)用程序中, main函數(shù)被 WinMain函數(shù)取而代之, WinMain函數(shù)的原型如下: int WINAPI WinMain ( HINSTANCE hInstance, // 當(dāng)前實(shí)例句柄 HINSTANCE hPrevInstance, // 前一實(shí)例句柄 LPSTR lpCmdLine, // 指向命令行參數(shù)的指針 int nCmdShow) // 窗口的顯示狀態(tài) ? 句柄是一個(gè)標(biāo)識(shí) Windows資源 (如菜單、圖標(biāo)、窗口等 )和設(shè)備等對象的變量,或者是一個(gè)對操作系統(tǒng)資源的間接引用。這些頭文件定義了 Windows的所有數(shù)據(jù)類型、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)和符號常量。該函數(shù)第一個(gè)參數(shù)用來指定父窗口句柄,即對話框所在的窗口句柄。 圖 Ex_HelloMsg運(yùn)行結(jié)果 [例 Ex_HelloWin] 一個(gè)完整的 Windows應(yīng)用程序。 // 窗口過程 int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { HWND hwnd 。 // 消息 WNDCLASS wndclass 。 = WndProc 。 = 0 。 = LoadIcon (NULL, IDI_APPLICATION) 。 = (HBRUSH) GetStockObject (WHITE_BRUSH) 。 = “HelloWin”。wndclass)) // 注冊窗口 { MessageBox (NULL, 窗口注冊失敗! , HelloWin, 0) 。 } hwnd = CreateWindow (HelloWin, // 窗口類名 我的窗口 , // 窗口標(biāo)題 WS_OVERLAPPEDWINDOW, // 窗口樣式 CW_USEDEFAULT, // 窗口最初的 x 位置 CW_USEDEFAULT, // 窗口最初的 y 位置 CW_USEDEFAULT, // 窗口最初的 x 大小 CW_USEDEFAULT, // 窗口最初的 y 大小 NULL, // 父窗口句柄 NULL, // 窗口菜單句柄 hInstance, // 應(yīng)用程序?qū)嵗浔? NULL) 。 // 顯示窗口 UpdateWindow (hwnd) 。 while (GetMessage (amp。msg) 。msg) 。 } LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_CREATE: // 窗口創(chuàng)建產(chǎn)生的消息 return 0 。 return 0 。 return 0 。 // 執(zhí)行默認(rèn)的消息處理 } 程序運(yùn)行,單擊鼠標(biāo)左鍵,如圖。 ? 調(diào)用相關(guān) API函數(shù)創(chuàng)建和顯示窗口,并進(jìn)行必要的初始化。 Windows每一個(gè)窗口都有一些基本屬性。 ? 創(chuàng)建和啟動(dòng)應(yīng)用程序的消息循環(huán)。Windows系統(tǒng)首先將消息放入消息隊(duì)列中,應(yīng)用程序的消息循環(huán)就是從應(yīng)用程序的消息隊(duì)列中檢取消息,并將消息發(fā)送相應(yīng)的窗口過程函數(shù)中作進(jìn)一步處理。 圖 Windows應(yīng)用程序的基本流程 ? 消息驅(qū)動(dòng)機(jī)制 DOS程序是通過調(diào)用系統(tǒng)的函數(shù)來獲得用戶輸入的, Windows程序則是通過操作系統(tǒng)發(fā)送的消息來處理用戶輸入的。在應(yīng)用程序中,通過接收消息、分發(fā)消息、處理消息來和用戶進(jìn)行交互。 ? 圖形設(shè)備接口 (GDI ) DOS環(huán)境中,要在打印機(jī)上打印一幅圖形是非常復(fù)雜的事件。 ? 基于資源的程序設(shè)計(jì) Windows應(yīng)用程序常常包含眾多圖形元素,每一個(gè)這樣的元素都作為一種可以裝入應(yīng)用程序的資源來存放。 VC中提供的許多編輯器能 “ 所見即所得 ” 地進(jìn)行不同類型資源的設(shè)計(jì)、編輯等。從編程角度,動(dòng)態(tài)鏈接庫可以提高程序模塊的靈活性,它本身是可以單獨(dú)設(shè)計(jì)、編譯和調(diào)試的。 ? Windows中, KERNEL32用來處理存儲(chǔ)器低層功能、任務(wù)和資源管理等核心服務(wù); GDI32用來提供圖形設(shè)備接口,管理用戶界面和圖形繪制; USER32負(fù)責(zé)窗口的管理。 ? 進(jìn)程是裝入內(nèi)存中正在執(zhí)行的應(yīng)用程序。進(jìn)程包括了一個(gè)或多個(gè)在進(jìn)程上下文內(nèi)運(yùn)行的線程。線程可以執(zhí)行應(yīng)用程序代碼的任何部分,包括當(dāng)前正在被其它線程執(zhí)行的那些部分。 ? 一個(gè)應(yīng)用程序,包括一個(gè)或多個(gè)進(jìn)程,每個(gè)進(jìn)程由一個(gè)或多個(gè)線程構(gòu)成。 ? 凡是數(shù)據(jù)類型的前綴是 P或 LP,表示該類型是一個(gè)指針或長指針數(shù)據(jù)類型。前綴是 U,表示是無符號數(shù)據(jù)類型。 LOBYTE和 HIBYTE分別用來獲取 16位數(shù)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1