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

正文內(nèi)容

windowsapi編程-免費(fèi)閱讀

2025-08-25 17:21 上一頁面

下一頁面
  

【正文】 四 . 發(fā)送消息函數(shù) 1. 發(fā)送消息函數(shù)聲明 發(fā)送消息函數(shù)用于把消息發(fā)送窗體過程 , 其聲明如下: LONG DispatchMessage (CONST MSG *lpmsg)。 這也就是說 , Windows將調(diào)用窗口過程 。 只要從消息隊(duì)列中取出消息的 message域不為 WM_QUIT。 // 光標(biāo)在屏幕上的 X坐標(biāo); LONG y。 其定義如下: typedef struct tagMSG { HWND hwnd。 Windows為當(dāng)前運(yùn)行的每個 Windows程序維護(hù)一個 “ 消息隊(duì)列 ” 。 形參: hWnd:窗體句柄; Handle to the window to be updated. 返回值:如果成功返回 TRUE, 否則返回 FALSE。 第四節(jié) 顯示和更新窗體函數(shù) ? 在 CreateWindow調(diào)用返回之后 , Window內(nèi)部已經(jīng) ? 創(chuàng)建了這個窗口 。 因?yàn)榇翱跊]有菜單 , 所以 “ 窗口菜單句柄 ” 也設(shè)置為 NULL。 返回值 如果成功返回新窗體句柄 , 否則返回 NULL。從這一點(diǎn)看來,所有的按鈕都是以同樣的方式工作的。 CS_BYTEALIGNCLIENT CS_BYTEALIGNWINDOW CS_CLASSDC CS_DBLCLKS CS_GLOBALCLASS CS_HREDRAW CS_NOCLOSE CS_OWNDC CS_PARENTDC CS_SAVEBITS CS_VREDRAW 2. 窗體客戶區(qū)背景色選項(xiàng): COLOR_ACTIVEBORDER COLOR_ACTIVECAPTION COLOR_APPWORKSPACE COLOR_BACKGROUND COLOR_BTNFACE COLOR_BTNSHADOW COLOR_BTNTEXT COLOR_CAPTIONTEXT COLOR_GRAYTEXT COLOR_HIGHLIGHT COLOR_HIGHLIGHTTEXT COLOR_INACTIVEBORDER COLOR_INACTIVECAPTION COLOR_MENU COLOR_MENUTEXT COLOR_SCROLLBAR COLOR_WINDOW COLOR_WINDOWFRAME COLOR_WINDOWTEXT 三 . 返回值 如果成功返回非 0值 , 否則返回 0。 // 窗體圖標(biāo); HCURSOR hCursor。 二 . 形參 lpwcx 是一個指向窗體類結(jié)構(gòu)類型的指針變量 。 例如 ,Windows中的所有按鈕窗口 —包括下壓按鈕 。比如,m_szStudentName表示一個學(xué)生名字的類成員變量,數(shù)據(jù)類型是字符串型。 在編程時 , 變量 、 函數(shù)的命名是一個極其重要 的問題 。 在本章結(jié)束之前 , 我們將遇到 HICON( 圖標(biāo)句柄 ) 、 HCURSOR鼠標(biāo)指針句柄 ) 和 HBRUSH( 圖形刷句 柄 ) 。 WndProc函數(shù)返回一個類型為 LRESULT的值 , 該值簡單地被定義為一個 LONG。 這種作法并不如當(dāng)時每個人想象的那樣順利 , 但是這種概念基本上是正確的 。 這些函數(shù)均在平臺 SDK文檔中說明 , 并在不同的頭文件中聲明 , 其中絕大多數(shù)在 WINUSER. H中聲明 。 您可以從系統(tǒng)菜單 ( 標(biāo)題欄最左端的小圖際 ) 中 執(zhí)行所有選項(xiàng);也可以通過從系統(tǒng)萊單中選擇 Close選項(xiàng) , 或者通過單未標(biāo)題欄最右端的關(guān)閉 按鈕 , 或者通過雙擊標(biāo)題欄最左端的圖標(biāo)來關(guān)閉 窗口以終止程序的執(zhí)行 。 上面提到 , HELLOWIN將在其窗口的中央顯示文本串 。 EndPaint (hwnd, amp。 switch (message) { case WM_CREATE: PlaySound (TEXT (), NULL, SND_FILENAME | SND_ASYNC) 。msg, NULL, 0, 0)) { TranslateMessage (amp。 = szAppName 。 = WndProc 。 這包 括一段幾乎出現(xiàn)在每一個 Window程序中的固定代碼 。 在窗口大小改變或窗口表面需要重畫時 , 由其他消息通知窗口 。 例如 , 所有 Windows程序中的所有按鈕均基于同一個窗口類 。 讀者所不習(xí)慣的 , 可能是操作系統(tǒng)調(diào)用程序 , 而這正是 Windows面向?qū)ο篌w系結(jié)構(gòu)的基礎(chǔ) 。 然后程序就可以調(diào)整窗口中的內(nèi) 容 , 以反映大小的變化 。 這有一個 windows的消息示例:我們知道 , 大多數(shù)的 windows程序都有大小合適的應(yīng)用程序窗口 。 另一類窗口是對話框 , 它可以有標(biāo)題欄也可以沒有標(biāo)題欄 。 但實(shí)際上并非真得這么簡單。 如果希望直接鍵人源程序 , 可以選擇 An empty project這一項(xiàng) 。比如,m_szStudentName表示一個學(xué)生名字的類成員變量,數(shù)據(jù)類型是字符串型 ? 第六節(jié) Windows API程序的開發(fā)步驟 ? 開發(fā)基于 Windows API的應(yīng)用程序一般可以參考下面的步驟 。 ? 在編程時 , 變量 、 函數(shù)的命名是一個極其重要的問題 。 其聲明是這樣的: typedef void *HANDLE ? Windows是一個多任務(wù)操作系統(tǒng) , 它可以同時運(yùn)行多個程序或一個程序的多個副本 。 ? . 使用 C語言編寫的示例程序 。 ? Windows API具有兩種基本類型: Winl6 API和 Win32 API。 而在 Windows下 , 由于允許多個任務(wù)同時運(yùn)行 , 應(yīng)用程序的輸入輸出是由 Windows來統(tǒng)一管理的 。 ( 4) 用戶消息:這是程序員自己定義并在應(yīng)用程序中主動發(fā)出的 , 一般由應(yīng)用程序的某一部分內(nèi)部處理 。 事件驅(qū) 動是靠消息循環(huán)機(jī)制來實(shí)現(xiàn)的 。而 Windows 是一個多任務(wù)的操作系統(tǒng) , 也就是說 , 在同一時刻 ,在 Windows中有著多個應(yīng)用程序的實(shí)例正在運(yùn)行 , 例如我在打開字處理軟件 Notepad鍵人純文本的同時 , 還打開了 Winmap來播放歌曲 。 Wndows 2022系列以及以前的 Wndows 95/ 98/NT都屬于這種系統(tǒng)。 而在沒有消息時消息循環(huán)就將控制權(quán)交給系統(tǒng) , 所以 Windows可以同時進(jìn)行多個任務(wù) 。 ? 下面有一段偽代碼演示如何在窗口過程中處理消息: ? LONG WndProc(HWND hwnd , UINT MessageType , WPARAM , LPARAM) ? { ? switch( MessageType) ? { // 使用 SWITCH語句將各種消息分開 ? case( WM_PAINT) : ? doYourWindow (… )。 在窗口的過程 ( WNDPROC) 中可以對消息進(jìn)行分析 , 對自己感興趣的消息進(jìn)行處理 。程序的運(yùn)行過程就是用戶的外部操作不斷產(chǎn)生事件,這些事件又被相應(yīng)的對象的過程處理。Windows經(jīng)過不斷升級換代,現(xiàn)在最新版本是 Windows 2022,它基于網(wǎng)絡(luò)環(huán)境。一個設(shè)計(jì)良好的 Windows應(yīng)用程序并不對硬件直接存取圖形,這意味著程序并不依賴于某一確定的系統(tǒng)配置,所以,每一個程序員不需要為所有可能的顯示器、適配卡和打印機(jī)開發(fā)設(shè)備驅(qū)動程序。 多任務(wù)對于用戶是很重要的 , 因?yàn)樗试S同時運(yùn)行幾個應(yīng)用程序 , 用戶無需退出一個應(yīng)用程序再進(jìn)入另一個應(yīng)用程序 , 而只需簡單地在各個應(yīng)用程序之間來回切換就可以了 。Windows環(huán)境中的每一個窗口都包含了相同的基本特性 , 由于這些基本特性在應(yīng)用程序中是一致的 , 因而用戶能很容易地適應(yīng)新的應(yīng)用程序 。并且基于 Windows API的應(yīng)用程序具有和 Windows操作系統(tǒng)的良好整合性 , 從而大大提高了軟件的運(yùn)行性能 。 前 言 (二 ) ? Windows操作系統(tǒng)同時也是一個大的函數(shù)庫 , 其中包含了數(shù)以千計(jì)的函數(shù) , 這些函數(shù)能完成各種各樣的功能 , 包括窗口管理 、 圖形設(shè)備接口 、 媒體控制 、 內(nèi)存管理和系統(tǒng)擴(kuò)展 , 這些函數(shù)都被封裝在一個接口中 ,這個接口就是 Windows應(yīng)用程序編程接口 ( Windows Application Progrmming Interface) ,簡稱 Windows API。 書中所有的例子都在 Windows 98\2022系統(tǒng)平臺 、 Visual C++ 測試 。 第一章 Windows程序設(shè)計(jì)概述 (二 ) ? Windows操作系統(tǒng)提供的 “ 所見即所得 ” 也是一個非常友好的特點(diǎn) 。 第一章 Windows程序設(shè)計(jì)概述 (三 ) ? Windows對存儲器的管理也是一個很明顯的優(yōu)點(diǎn) 。 當(dāng)然 , Windows也提供了運(yùn)行非 Windows的 MS- DOS應(yīng)用程序的機(jī)制 。 Windows應(yīng)用程序最大的特點(diǎn)就是程序沒有固定的流程 , 而只是針對某個事件的處理有特定的子流程 , Windows應(yīng)用程序就是由許多這樣的子流程構(gòu)成的 。 例如當(dāng)選中某菜單命令之后會發(fā)送 WM_COMMAND消息 ,WPARAM的高字 ( HIWORD( wParam) 中是命令的 ID號 , 對菜單來講就是菜單 ID。 ? 說到消息就不能不說窗口句柄。 ? } ? } 系統(tǒng)將維護(hù)一個或多個消息隊(duì)列 , 所有產(chǎn)生的消息都會被放入或是插入隊(duì)列中 。 Windows 統(tǒng) 。對于具有一定基礎(chǔ)的程序員而言,更重要的內(nèi)容在于知道 Windows和 Windows應(yīng)用程序的運(yùn)行機(jī)制,以及它們之間以何種方式來進(jìn)行通信。 Windows能向應(yīng)用程序發(fā)送的消息多達(dá)數(shù)百種 , 但是 , 對于一般的應(yīng)用程序來說 , 只是其中的一部分有意義 , 如果你的應(yīng)用程序只使用鼠標(biāo) , 那么如 WM_KEYUP、 WM_KEYDOWN和 WM_CHAR等消息就沒有任何意義 , 也就是說 , 應(yīng)用程序中事實(shí)上不需要處理這些事件 , 對于這些事件 , 只需要交給Windows作默認(rèn)的處理即可 。 這類消息一般不經(jīng)過應(yīng)用程序消息隊(duì)列 , 而是直接發(fā)送到控制對象上去 。 簡單地說 , API就是一系列的例程 , 應(yīng)用程序通過調(diào)用這些例程來請求操作系統(tǒng)完成一些低級服務(wù) 。 USER為所有的用戶界面對象提供支持 , 它用于接收和管理所有輸入消息 、 系統(tǒng)消息并把它們發(fā)給相應(yīng)的窗口的消息隊(duì)列 。 ? 二 、 Windows SDK ? Windows SDK( Windows Software Development Kit, Windows軟件開發(fā)工具包 ) 和 Windows API緊密聯(lián)系 , 它是一套幫助 C語言程序員創(chuàng)建Windows應(yīng)用程序的工具 , 在 Windows SDK中包括了以下幾個組成部分: ? . 大量的在線幫助 , 這些幫助描述了 Windows編程所可能用到的函數(shù) 、消息 、 結(jié)構(gòu) 、 宏及其他資源 。 ? 面向?qū)ο蟮木幊谭绞绞钱?dāng)前最流行的程序設(shè)計(jì)方法 , 但是 , Win32 API本身卻是基于 C語言的過程式編程的 , SDK和 MFC的最主要的不同之處也就是 C與 C+十之間的差別 , 使用 MFC進(jìn)行 Windows應(yīng)用程序設(shè)計(jì)需要面向?qū)ο蟮木幊趟枷牒头椒?, ? 三 、 使用 SDK編寫 Windows應(yīng)用程序 ? 傳統(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) 。 ? ( 2) 創(chuàng)建應(yīng)用程序主窗口 。 ? 匈牙利命名法為 C標(biāo)識符的命名定義了一種非常標(biāo)準(zhǔn)化的方式 ,這種命名方式是以下面兩條規(guī)則為基礎(chǔ)的: ? . 標(biāo)識符的名字以一個或者多個小寫字母開頭 , 用這些字母來指定數(shù)據(jù)類型 。 ? 如果選擇 A simple Win32 application項(xiàng) , Visual C++ 編譯器將自動為用戶生成項(xiàng)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1