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

正文內(nèi)容

windowsapi編程(文件)

 

【正文】 Windows函數(shù)獲取句柄 。 5. 匈牙利表示法 要在 Windows上開(kāi)發(fā)應(yīng)用程序 , 就必須對(duì) Windows 程序設(shè)計(jì)有所了解 。 匈牙利命名法是由 Microsoft的著名開(kāi)發(fā)人員 , Excel的主要設(shè)計(jì)者查爾斯 .在標(biāo)識(shí)符內(nèi),前綴以后就是一個(gè)或者多個(gè)第一個(gè)字母大寫(xiě)的單詞,這些單詞清楚地指出了源代碼內(nèi)那個(gè)對(duì)象的用途。 這些頭文件定義了 Windows 的所有數(shù)據(jù)類型 、 函數(shù)調(diào)用 、 數(shù)據(jù)結(jié)構(gòu)和常數(shù)標(biāo)識(shí)符 , 它是 Windows文檔中的一個(gè)重要部分 。 可以在單個(gè)窗口類的基礎(chǔ)上創(chuàng)建多個(gè)窗口 。 在創(chuàng)建窗口時(shí) , 要定義一些窗口所獨(dú)有的特征 。 注冊(cè)窗體類函數(shù)聲明如下: ATOM RegisterClassEx(CONST WNDCLASSEX *lpwcx)。 // 窗體風(fēng)格; WNDPROC lpfnWndProc。 // 實(shí)例句柄; HICON hIcon。 // 窗體菜單指針; LPCTSTR lpszClassName。 1. 窗體風(fēng)格選項(xiàng): 窗體風(fēng)格各個(gè)選項(xiàng)可以用 OR (|) 運(yùn)算符聯(lián)合表示 。 新的 Window程序員有時(shí)會(huì)混淆窗口類和窗口之間的 區(qū)別,以及為什么一個(gè)窗口的所有特征不能被一步到位地指定。由窗口類來(lái)負(fù)責(zé)處理按鈕的鍵盤(pán)和鼠標(biāo)輸入,并定義按鈕在屏幕上的外觀形象。后面的這樣一些特征是窗口定義的一部分,而不是窗口類定義的。 BUTTON COMBOBOX EDIT LISTBOX MDICLIENT RichEdit RICHEDIT_CLASS SCROLLBAR STATIC 4. dwStyle:窗體風(fēng)格; 窗體風(fēng)格各個(gè)選項(xiàng)可以用 OR (|) 運(yùn)算符聯(lián)合表示 , 各個(gè)選項(xiàng)如下: WS_BORDER WS_CAPTION WS_CHILD WS_CHILDWINDOW WS_CLIPCHILDREN WS_CLIPSIBLINGS WS_DISABLED WS_DLGFRAME WS_GROUP WS_HSCROLL WS_ICONIC WS_MAXIMIZE WS_MAXIMIZEBOX WS_MINIMIZE WS_MINIMIZEBOX WS_OVERLAPPED WS_OVERLAPPEDWINDOW WS_POPUP WS_POPUPWINDOW WS_SIZEBOX WS_SYSMENU WS_TABSTOP WS_THICKFRAME WS_TILED WS_TILEDWINDOW WS_VISIBLE WS_VSCROLL 5. x:窗體左上角 X坐標(biāo); 6. y:窗體左上角 Y坐標(biāo); 7. nWidth:窗體寬度; 8. nHeight:窗體高度; 9. hWndParent:父窗體句柄; 10. hMenu:菜單句柄; 11. hInstance:實(shí)例句柄; 12. lpParam:系統(tǒng)保留 。 它含有一個(gè)標(biāo)題欄, 標(biāo)題欄左邊有一個(gè)系統(tǒng)菜單框 , 標(biāo)題欄右邊有縮小 、 放大和關(guān)閉圖標(biāo) , 四周還有一個(gè)表示窗口大小的邊框 。 應(yīng) 用程序窗口出現(xiàn)在桌面窗口的上面 , 但不必為調(diào)用 CreateWindow而找出桌面窗口的句柄 。 CreateWindow調(diào)用返回被創(chuàng)建的窗口的句柄 , 該句柄存放在變量 hwnd中 , 后者被定義為 HWND類型 ( “ 窗口句柄類型 ” ) 。 窗口句柄是 Windows程序處理的最重要的句柄之一 。 ? ? 一 、 顯示窗體客戶區(qū)函數(shù)聲明 ? BOOL ShowWindow (HWND hWnd, ? int nCmdShow)。 二 、 更新窗體客戶區(qū)函數(shù)聲明 BOOL UpdateWindow (HWND hWnd)。 函數(shù)調(diào)用 UpdateWindow(hwnd); 導(dǎo)致客戶區(qū)域被繪制 。 程序現(xiàn)在必須準(zhǔn)備讀入用戶用鍵盤(pán)和鼠標(biāo)輸入的數(shù)據(jù) 。msg,NULL,0,0)) { TranslateMessage(amp。 } msg變量是類型為 MSG的結(jié)構(gòu) , 類型 MSG在 WINUSER. H中定義如下: 消息結(jié)構(gòu)類型用于描述一個(gè)線程的消息隊(duì)列中的消息 。 // 消息附加值; LPARAM lParam。 POINT結(jié)構(gòu)類型也是一個(gè)結(jié)構(gòu) , 它在 中定義如下: typedef struct tagPOINT { LONG x。msg,NULL,0,0) 這一調(diào)用傳給 Windows一個(gè)指向名為 msg的 MSG結(jié)構(gòu)的指針 。 3. 返回值 如果獲取的消息是 WM_QUIT消息 ,則返回非 0值 , 否則返回 0。 TranslateMessage( amp。 然后 ,Wndows將該消息發(fā)送給適當(dāng)?shù)拇翱谶^(guò)程 , 讓它進(jìn)行處理 。 此時(shí) , Windows還停留在 DispatchMessage調(diào)用中 。 3. 返回值 如果翻譯的消息來(lái)源于某個(gè)線程的消息隊(duì)列 , 則返回 TRUE, 否則返回 FALSE。 吉林大學(xué)遠(yuǎn)程教育課件。 2. 形參 lpMsg:消息結(jié)構(gòu)類型變量指針 。 翻譯消息函數(shù) : 1. 翻譯消息函數(shù)聲明 翻譯消息函數(shù)用于把虛鍵值翻譯成字符的 ASCII值 , 其聲明如下: BOOL TranslateMessage (CONST MSG *lpMsg)。 在 HELLOWIN中 , 這個(gè)窗口過(guò)程就是 WndProc函數(shù) 。msg)。GetMessage 就返回一個(gè)非 0 值 。 獲取消息函數(shù)用于從一個(gè)線程的消息隊(duì)列中獲取消息 , 其聲明如下: BOOL GetMessage(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax)。 // 光標(biāo)在屏幕上的 Y坐標(biāo); } POINT。 // 消息傳送時(shí)間; POINT pt。 // 接受消息窗體過(guò)程的窗體句柄; UINT message。 DispatchMessage(amp。在發(fā)生輸人事件之后 , Windows將事件轉(zhuǎn)換為一個(gè) “ 消息 ” , 并將消息放入程序的消息隊(duì)列中 。 后面 , 我們將說(shuō)明 WndProc如何處理這個(gè)消息 。 ShowWindow函數(shù)在顯示器上顯示窗口 。 它確定最初如何在屏幕上顯示窗口 , 是常規(guī) 、 最小化還是最大化 。 這就是說(shuō) , Windows 已經(jīng)分配了 ? 一塊內(nèi)存 , 用來(lái)保存關(guān)于在 CleateWindow調(diào)用中指定 ? 窗口的全部信息 , 再加 上 Windows在隨后所能找到 ? 的所有其他信息 。 許多 Windows函數(shù)需要使用 hwnd作為參數(shù) , 這樣 , Window才能知道函數(shù)是針對(duì)哪個(gè)窗口的 。 “ 程序?qū)嵗浔?” 設(shè)置為實(shí)例句柄 , 它是作為 WinMain的參數(shù)傳遞給這個(gè)程序的 。 當(dāng)創(chuàng)建一個(gè) “ 最高級(jí) ” 窗口 , 如應(yīng)用程序窗口時(shí) , 注釋為 “ 父窗口句柄 ” 的參數(shù)設(shè)置為 NULL。 二 、 實(shí)例分析 傳遞給 RegisterClass函數(shù)的信息在一個(gè)數(shù)據(jù)結(jié)構(gòu)中說(shuō)明 , 而傳遞給 CreateWindow函數(shù)的信息作為函數(shù)的單獨(dú)參數(shù)來(lái)說(shuō)明 。 一 、 函數(shù)聲明 HWND CreateWindowEx(DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam)。但是并非所有的按鈕都是一樣的。例如,所有的按鈕窗口都可以基于同樣的窗口類來(lái)創(chuàng)建。 第三節(jié) 建立 窗體函數(shù) 窗口類定義了窗口的一般特征 , 因此可以使用同一 窗口類創(chuàng)建許多不同的窗口 。 // 窗體小圖標(biāo) 。 // 窗體光標(biāo); HBRUSH hbrBackground。 // 系統(tǒng)保留; int cbWndExtra。 窗體類結(jié)構(gòu)類型定義如下: typedef struct _WNDCLASSEX { UINT cbSize。 該函數(shù)只需要一個(gè)參數(shù) , 即一個(gè)指向類型為 WNDCLASS的結(jié)構(gòu)指針 。 復(fù)選框 , 以及單選按鈕 ——都是基于同一窗口類創(chuàng)建的 。 還可以在 Developer Studio中打開(kāi)這些頭文件 , 并直接閱讀它們 。 6. 頭包含 Windows應(yīng)用程序中使用的各種 Windows API函數(shù)聲明 , 宏定義, 數(shù)據(jù)類型定義 , , 它包含了其他windows的頭文件 , 這些頭文件的某些也包含了其他頭文件 。 匈牙利命名法為 C標(biāo)識(shí)符的命名定義了一種非常標(biāo)準(zhǔn)化的方式 ,這種命名方式是以下面兩條規(guī)則為基礎(chǔ)的: . 標(biāo)識(shí)符的名字以一個(gè)或者多個(gè)小寫(xiě)字母開(kāi)頭 , 用這些字母來(lái)指定數(shù)據(jù)類型 。 好的命名方法使變量易于記憶且程序可 讀性大大提高 。句柄的實(shí)際值對(duì)程序來(lái)說(shuō)是無(wú)關(guān)緊要的 。 句柄是一個(gè)數(shù) ( 通常為 32位 ) , 它代表一個(gè) 對(duì)象 。 表中前面兩個(gè)數(shù)據(jù)結(jié)構(gòu)在 WinMain中使用 , 分別 定義了兩個(gè)名為 msg和 wndclass的結(jié)構(gòu) , 后面兩 個(gè)數(shù)據(jù)結(jié)構(gòu)在 WndProc中使用 , 分別定義了 ps和 rect結(jié)構(gòu) 。 WinMain函數(shù)被指定為一個(gè) WINAPI類型 ( 在頭文件中定義的所有 Windows函數(shù)都被指定這種類型 ) , 而 WndProc函數(shù)被指定為一個(gè) CALLBACK類型 。 例如 , WndProc 的第三和第四個(gè)參數(shù)分別被定義 WPARAM和 LPARAM, 這些名字的來(lái)源有點(diǎn)歷史背景:當(dāng) Window是一種 16位系統(tǒng)時(shí) , WndProc的第三個(gè)參數(shù)被定義為一 個(gè) WORD, 這是一個(gè)歷位的無(wú)符號(hào)短整數(shù) , 而第四個(gè)參數(shù)被定義為一個(gè) LONG, 這是一個(gè) 32位有符號(hào)的長(zhǎng)整數(shù) , 從而導(dǎo)致了對(duì)單詞“ PARAM”加前綴 “ W”和 “ L”。 有時(shí)這些新的數(shù)據(jù)類型只是為了方便起見(jiàn)的一個(gè)縮寫(xiě) 。實(shí)際上, Windows中使用的每個(gè)數(shù)值常量在頭文件中均有相應(yīng)的標(biāo)識(shí)符定義。 2. 大寫(xiě)的標(biāo)識(shí)符 大家可能注意到 , 在 IIELIDWIN. C中有很多大寫(xiě) 的標(biāo)識(shí)符 , 這些標(biāo)識(shí)符都是在 Windows的頭文件 中定義的 。 然而 , 在 WinMain中有對(duì) WndProc的聲明 , 這就是函數(shù)要在程序頂部附近聲明的原因 。 當(dāng)然 , 我們首先要從整體上看一下 。 您可以用鼠標(biāo)按住標(biāo)題欄 , 在屏幕上移動(dòng)窗口;可以按住邊框 , 改變窗口的大小 。 那不完全正確 。 } return DefWindowProc (hwnd, message, wParam, lParam) 。ps) 。rect) 。 return 0 。 } LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc 。msg) 。 // creation parameters ShowWindow (hwnd, iCmdShow) 。 if (!RegisterClass (amp。 = LoadCursor (NULL, IDC_ARROW) 。 = 0 。 MSG msg 。 程序 HELLOWIN程序就是一個(gè)包括這段固定代碼的簡(jiǎn)單程序 。 如果您對(duì)這段有關(guān) Windows體系結(jié)構(gòu)的過(guò)于簡(jiǎn)略的描述將信將疑 , 就讓我們?nèi)タ纯丛趯?shí)際的程序中 , 窗口 、 窗口類 、 窗口過(guò)程 、 消
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1