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

正文內(nèi)容

windows編程基礎(chǔ)新手入門資料-文庫吧資料

2025-07-01 23:39本頁面
  

【正文】 Proc}Windows應(yīng)用程序可以接收以各種形式輸入的信息,這包括鍵盤、鼠標(biāo)動作、計時器產(chǎn)生的消息,也可以是其他應(yīng)用程序發(fā)來的消息等。 // 轉(zhuǎn)換某些鍵盤消息 DispatchMessage (amp。msg, NULL, 0, 0)) { TranslateMessage (amp。 消息和消息處理1.消息循環(huán)在Win32編程中,消息循環(huán)是相當(dāng)重要的一個概念,看似很難,但使用起來卻是非常簡單。由于ShowWindow函數(shù)的執(zhí)行優(yōu)先級不高,所以當(dāng)系統(tǒng)正忙著執(zhí)行其他的任務(wù)時,窗口不會立即顯示出來,此時,調(diào)用UpdateWindow函數(shù)以可以立即顯示窗口。要能真正把窗口顯示在屏幕上,還得使用ShowWindow函數(shù),其原型如下: BOOL ShowWindow( HWND hWnd, int nCmdShow )。如果窗口創(chuàng)建成功,返回值是新窗口的句柄,否則返回NULL。其中,WS_OVERLAPPEDWINDOW表示創(chuàng)建一個層疊式窗口,有邊框、標(biāo)題欄、系統(tǒng)菜單、最大化和最小化按鈕等。 // 創(chuàng)建窗口的參數(shù)CreateWindow函數(shù)的第一個參數(shù)是創(chuàng)建該窗口所使用的窗口類的名稱,注意這個名稱應(yīng)與前面所注冊的窗口類的名稱一致。實際創(chuàng)建一個窗口是通過調(diào)用CreateWindow函數(shù)完成的。通常,可以用程序名來直接作為這個窗口類的名稱,它在創(chuàng)建窗口的CreateWindow函數(shù)中用到。否則,需要指定表示菜單資源的字符串。這里L(fēng)oadIcon、LoadCursor、GetStockObject等都是Windows的API函數(shù),在程序中可直接 調(diào)用。hbrBackground域用來定義窗口的背景畫刷顏色,也就是該窗口的背景色。下面的hIcon,是要給這個窗口指定一個圖標(biāo),LoadIcon (NULL, IDI_APPLICATION)就是調(diào)用系統(tǒng)內(nèi)部預(yù)先定義好的標(biāo)識符為IDC_APPLICATION的圖標(biāo)作為該窗口的圖標(biāo)。然后的hInstance成員,給它的值是由WinMain傳來的應(yīng)用程序的實例句柄,表明該窗口與該實例是相關(guān)聯(lián)的。這里,可簡單直接地輸入消息處理(窗口過程)函數(shù)的函數(shù)名即可。第二個域lpfnWndProc的值為WndProc。 = HelloWin。 = GetStockObject (WHITE_BRUSH) 。 = LoadIcon (NULL, IDI_APPLICATION) 。 = 0 。 = WndProc 。例如,有:WNDCLASS wndclass 。 // 該窗口類的名稱} WNDCLASS, *PWNDCLASS。 // 指定窗口的背景畫刷 LPCTSTR lpszMenuName。 // 指定窗口的圖標(biāo) HCURSOR hCursor。 // 指定分配給窗口實例之后的額外字節(jié)數(shù) HINSTANCE hInstance。 // 指定窗口的消息處理函數(shù)的窗口過程函數(shù) int cbClsExtra。WNDCLASS結(jié)構(gòu)具有下列原型:typedef struct { UINT style。它包含了一個窗口的基本屬性,如窗口邊框、窗口標(biāo)題欄文字、窗口大小和位置、鼠標(biāo)、背景色、處理窗口消息函數(shù)的名稱等。 注冊窗口類在為程序創(chuàng)建窗口之前,必須首先調(diào)用創(chuàng)建RegisterClass注冊應(yīng)用程序的窗口類。一個就是前面所討論的WinMain函數(shù),另一個是用戶定義的窗口過程函數(shù)WndProc。 // 執(zhí)行默認(rèn)的消息處理}創(chuàng)建并運行上述程序時,先創(chuàng)建一個Ex_HelloWin“空工程”,輸入上述代碼,然后編連和運行,(里面的框是加上去的,它的區(qū)域叫“客戶區(qū)”)。 return 0 。 return 0 。 EndPaint( hwnd, amp。 // 獲取窗口客戶區(qū)大小 DrawText( hdc, TEXT(Hello Windows!), 1, amp。 GetClientRect( hwnd, amp。 case WM_PAINT: hdc = BeginPaint( hwnd, amp。 RECT rc。}LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ HDC hdc。msg) 。msg) 。 // 更新窗口,包括窗口的客戶區(qū) // 進入消息循環(huán):當(dāng)從應(yīng)用程序消息隊列中檢取的消息是WM_QUIT時,則退出循環(huán) while (GetMessage (amp。 // 創(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)。事實上,“窗口”就是用戶操作的區(qū)域界面,在編程中除創(chuàng)建等操作外,還要處理用戶輸入、窗口本身事件所產(chǎn)生的“消息”。 窗口和消息MessageBox是通過創(chuàng)建的默認(rèn)“窗口”來顯示簡單的信息:窗口標(biāo)題、一行或多行文本、圖標(biāo)和按鈕等。在程序中使用TEXT文本,無論在何Windows環(huán)境下均可顯示正確的內(nèi)容,而不會出現(xiàn)亂碼的情形。在Windows編程中,TEXT宏是用來對UNICODE編碼的字符串的支持??梢姡琈B_ICONQUESTION 用來指定在對話框中顯示圖標(biāo),而MB_ABORTRETRYIGNORE用來指定“終止”、“重試”和“忽略”按鈕,類似這樣的預(yù)定義標(biāo)識還有很多,在以后討論到MFC中的CWnd::MessageBox函數(shù)時還要討論,故這里不再贅述。 return 0 。例如。其中,第一個參數(shù)hWnd用來指定父窗口句柄,即對話框所在的窗口句柄。 MessageBox函數(shù)MessageBox是一個Win32 API函數(shù),用來彈出一個對話框窗口,顯示短信息。它的主要方法是將變量名前后加上表示“類型”和“作用”的“前綴(小寫)”,而變量名本身由“狀態(tài)”、“屬性”和“含義”等幾個部分組成,每一個部分的名稱可以是全稱,也可以是縮寫,但通常只有第一個字母是大寫。縱觀上述參數(shù)和類型名可以發(fā)現(xiàn)它們的命名規(guī)則:l C/C++的類型名仍保留其小寫,但新的類型都是用大寫字母來命名。其中的STR是“STRING,字符串”的含義,是指以\0結(jié)尾的字符串,LP前綴表示“長指針”,在Win32中它與“P”前綴表示的“指針”含義相同。卻將其改為PSTR。由于同一個應(yīng)用程序的所有實例都共享著應(yīng)用程序的資源,因而程序通過檢查hPrevInstance參數(shù)就可確定自身的其他實例是否正在運行。由于句柄唯一標(biāo)識著對應(yīng)的資源、狀態(tài)、模塊等,因而使用句柄就是使(調(diào))用相應(yīng)的資源、狀態(tài)、模塊。HINSTANCE中,H表示Handle,是“句柄”的意思。_cdecl調(diào)用約定:參數(shù)從右向左壓入堆棧;傳遞參數(shù)的內(nèi)存棧由調(diào)用者來維護(正因為如此可實現(xiàn)變參函數(shù));機器碼中的函數(shù)名只在前面自動加下劃線。_stdcall是一個常見的協(xié)議,內(nèi)容包括:參數(shù)從右向左壓入堆棧;函數(shù)自身修改堆棧;機器碼中的函數(shù)名前面自動加下劃線,而函數(shù)后面接符號和參數(shù)的字節(jié)數(shù)。_stdcall所謂“調(diào)用約定”,就是指程序生成機器碼后,函數(shù)調(diào)用的多個參數(shù)是按怎樣的次 序來傳遞,同時函數(shù)調(diào)用結(jié)束后堆棧由誰來恢復(fù),以及編譯器對函數(shù)名的修飾約定等的 協(xié)議。下面就來分析:① WinMain函數(shù)被聲明成為返回一個int值,同時WinMain函數(shù)名前還有WINAPI標(biāo)識符的修飾。其原型如下:intWINAPIWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)。 程序入口函數(shù)在C/C++程序中,其入口函數(shù)都是main。 創(chuàng)建并添加程序文件 開發(fā)環(huán)境和運行結(jié)果 頭文件include預(yù)處理指令開始,實際上在用C/C++編寫的Windows應(yīng)用程序的頭部都可以看到這樣的指令:include ,它還包含了其他一些Windows頭文件。⑨ 單擊編譯工具條上的“運行工具”按鈕或直接按Ctrl+F5鍵。輸完后,單擊編譯工具條上的“生成工具”按鈕或直接按F7鍵,系統(tǒng)開始對Ex_HelloMsg項目工程中的文件進行編譯、連接,同時在輸出窗口中觀察出現(xiàn)的內(nèi)容,當(dāng)出現(xiàn) error(s), 0 warning(s)。在左側(cè)的文件類型列表中選中C++ Source File(C++源文件),在右側(cè)的“文件名”編輯框中輸入“”或輸入“”(文件擴展名也可不輸入,系統(tǒng)會自動添加cpp擴展名,cpp是C Plus Plus的縮寫,是C++的 意思)。單擊“確定”按鈕,系統(tǒng)將按前面的選擇自動創(chuàng)建此應(yīng)用程序
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1