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

正文內(nèi)容

windows程序設(shè)計(jì)-展示頁

2025-07-26 18:59本頁面
  

【正文】 .有些消息直接發(fā)送給窗口過程 ,不用放入消息隊(duì)列中 . HELLOWIN程序 ? 創(chuàng)建一個窗口首先需要注冊一個窗口類 ,那需要一個窗口過程來處理窗口消息 .這包括一段幾乎出現(xiàn)在每一個 windows程序中的固定代碼 . ? 實(shí)例見 VC++ 總體考慮 ? 注意 ,在 WndProc的代碼 ,然而 ,在 WinMain中有對 WndProc的聲明 ,這就是函數(shù)要在程序頂部附近聲明的原因 . Windows函數(shù)調(diào)用 ? LoadIcon ? LoadCursor ? GetStockObject ? RegisterClass ? MessageBox ? CreateWindow ? ShowWindow ? UpdateWindow ? GetMessage ? TranslateMessage ? DispatchMessage ? PlaySound ? BeginPaint ? GetClientRect ? DrawText ? EndPaint ? PostQuitMessage ? DefWindowProc 大寫的標(biāo)識符 ? 這些都是簡單的數(shù)值常量 .前綴指示該常量所屬的類別 . ? 在編寫 windows程序時(shí) ,不用記這些數(shù)值常量 ,實(shí)際上 , windows中使用的每個數(shù)值常量在頭文件中均有相應(yīng)的標(biāo)識符定義 . ? CS 類風(fēng)格選項(xiàng) ? CW 創(chuàng)建窗口選項(xiàng) ? DT 繪制文本選項(xiàng) ? IDI 圖標(biāo) ID號 ? IDC 光標(biāo) ID號 ? MB 消息框選項(xiàng) ? SND 聲音選項(xiàng) ? WM 窗口消息 ? WS 窗口風(fēng)格 新的數(shù)據(jù)類型 ? MSG 消息結(jié)構(gòu) ? WNDCLASS 窗口類結(jié)構(gòu) ? PAINTSTRUCT 繪圖結(jié)構(gòu) ? RECT 矩形結(jié)構(gòu) 句柄簡介 ? 句柄是一個數(shù) (通常為 32位 ),它代表一個對象 .windows中的句柄類似傳統(tǒng) C或者M(jìn)SDOS程序設(shè)計(jì)中使用的文件句柄 .程序幾乎總是通過調(diào)用 windows函數(shù)獲取句柄 .程序在其它 windows函數(shù)中使用這個句柄 ,以引用它代表的對象 . ? HINSTANCE 實(shí)例 (程序自身 )句柄 ? HWND 窗口句柄 ? HDC 設(shè)備描述表句柄 匈牙利表示法 ? 許多 windows程序員使用一種叫做匈牙利表示法的變量命名約定 .變量名以一個或者多個小寫字母開始 ,這些字母表示變量的數(shù)據(jù)類型 . ? 在命名結(jié)構(gòu)變量時(shí) ,可以用結(jié)構(gòu)名的小寫作為變量名的前綴 ,或者用作整個變量名 . ? 匈牙利表示法能夠幫助程序員及早發(fā)現(xiàn)并避免代碼中的錯誤 . 續(xù) ? c char或 WCHAR或TCHAR ? by BYTE無符號字符 ? n short ? i int ? x,y int分別用作 x和 y坐標(biāo) ? cx,cy int分別用作 x和 y的長度 ? b,f BOOL(int)。 ? } Windows等價(jià)程序 ? 有一個 include申明 ,一個程序入口點(diǎn) ,一個函數(shù)調(diào)用和一個返回語句 . ? include “” ? int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) ? { ? MessageBox(NULL,TEXT(“Hello,Windows 98!”),TEXT(“HelloMsg”),0)。Windows程序設(shè)計(jì) 主講:王茂芝 副教授 參考文獻(xiàn) ? [1] Windows程序設(shè)計(jì) [第 5版 ,上下冊 ] 北京大學(xué)出版社 2022年 , ¥ 160 ? [2] 黃維通 . Visual C++面向?qū)ο笈c可視化程序設(shè)計(jì) ,清華大學(xué)出版社 ,2022年 ,¥ 26 ? [3] 王世同 . VC++ , 清華大學(xué)出版社 ,1999年 ,¥ ? [4] 劉文智 . VC++ , 電子工業(yè)出版社 , 2022年 , ¥ 35 幾個概念 ? C ? C++ ? VC++ ? MFC ? Windows程序設(shè)計(jì) 幾個概念 ? 兩個技術(shù)層面 ? 使用 API函數(shù)進(jìn)行可視化編程 ? 使用 MFC進(jìn)行可視化編程 ? 平臺與環(huán)境 ? VC++ ? Visual Studio(其它 ) ? OS(Win32) 第一章 開始 ? 前提條件 ? 從用戶角度熟悉 windows ? 了解 C語言 :特別是 C語言的結(jié)構(gòu)和指針 ? 在機(jī)器上安裝適合運(yùn)行 windows編程的 32位C語言編譯器和開發(fā)環(huán)境 .在此 ,我們使用 MS VC++ windows環(huán)境 ? Windows簡史 ? 1981年秋天 ,IBM PC推出不久 ,PC上的主流操作系統(tǒng)將是 ,成熟的圖形環(huán)境是慢慢來到小型計(jì)算機(jī)中的 . ? Windows是由 MS在 1983年 11月宣布 ,并在兩年后的1985年 11月推出 .(平鋪窗口 ) ? 1987年 11月推出的 .(層迭窗口 ) ? 1990年 5月 22日發(fā)布的 . ? MS 1992年 4月推出的 . ? 1993年 7月引入的 windows NT是支持 32位模式的第一個 windows版本 . ? Windows95是在 1995年 8月發(fā)布的 .(32位 ) ? Windows98是在 1998年 6月發(fā)布的 . Windows操作系統(tǒng) ? Windows98和 windows NT都是 32位搶占式多任務(wù)及多線程圖形操作系統(tǒng) . ? Windows擁有一個圖形用戶界面 (GUI).所有 GUI都是基于位圖的視頻顯示器上使用圖形 .圖形提供了使用屏幕的最佳方式、傳遞消息的可視化環(huán)境、能夠WYSIWYG( what you see is what you get:所見即所得 )的圖形視頻顯示 . 動態(tài)鏈接 ? Windows運(yùn)轉(zhuǎn)的核心是一個被稱為動態(tài)鏈接的概念 . ? Windows提供了應(yīng)用程序可利用的豐富的函數(shù)調(diào)用 ,大多數(shù)用于實(shí)現(xiàn)其用戶界面和在視頻顯示器上顯示文本和圖形 .這些函數(shù)采用動態(tài)鏈接庫即 DLL實(shí)現(xiàn) . ? 的事務(wù) :內(nèi)存管理、文件 I/O和任務(wù)處理 . ? ,實(shí)現(xiàn)所有窗口邏輯 . ? ,允許程序在屏幕和打印機(jī)上顯示文本和圖形 . 動態(tài)鏈接 (續(xù) ) ? 在 windows程序中 ,使用 windows函數(shù)的方式通常與使用 C庫函數(shù)的方式相同 .主要的區(qū)別在于 C庫函數(shù)的機(jī)器代碼鏈接到你的程序代碼中 ,而 windows函數(shù)的代碼位于你的程序之外的 DLL中 . windows編程選項(xiàng) ? API和內(nèi)存模式 ? 對于程序員來說 ,操作系統(tǒng)是由本身的 API定義的 .API包含了所有應(yīng)用程序構(gòu)造操作系統(tǒng)的函數(shù)調(diào)用 ,同時(shí)包含了相關(guān)的數(shù)據(jù)類型和結(jié)構(gòu) . ? 用于 16位版本 windows的 API()現(xiàn)在被稱作 32位版本 windows的 API(windows9 windows98和所有版本的 windows NT)現(xiàn)在被稱作win32. windows編程選項(xiàng) ? 語言選項(xiàng) ? 使用 C語言和原始的 API不是編寫 windows程序的唯一方法 .然而 ,這種方法卻提供給你最佳的性能、最強(qiáng)大的功能以及在發(fā)掘 windows特性方面最大的靈活性 . ? MS VB或者 Borland Delphi ? MFC在一個 C++類集合中封裝了許多 windows編程的繁重內(nèi)容 . ? Java ? Windows是一個復(fù)雜的系統(tǒng) ,在 API上增加一個編程層并未減少它的復(fù)雜性 ,僅僅是掩蓋了它 . 編程環(huán)境 ? 本書假定使用 MS VC++,可以是標(biāo)準(zhǔn)版、專業(yè)版和企業(yè)版 . ? MS VC++軟件包中包含 C編譯器和其它編譯和鏈接 windows程序所需的文件和工具 . ? MSDN: microsoft developer work API文檔 ? 編程關(guān)系與層次圖 編寫第一個 windows程序 ? 字符模式模型 ? include “” ? int main() ? { ? printf(“hello, world\n”)。 ? return 0。 ? return 0。flag ? w WORD無符號 short ? l LONG長整型 ? dw DWORD無符號長整型 ? fn 函數(shù) ? s string(串 ) ? sz 以 0字節(jié)結(jié)尾的串 ? h 句柄 ? p 指針 程序結(jié)構(gòu)安排 1. 注冊窗口類 2. 創(chuàng)建窗口 3. 消息循環(huán) 4. 窗口過程 5. 處理消息 注冊窗口類 ? 在為程序創(chuàng)建窗口之前 ,必須首先調(diào)用RegisterClass注冊一個窗口類 .該函數(shù)只需一個參數(shù) ,即一個指向類型為 WNDCLASS的結(jié)構(gòu)指針 . ? 在 WNDCLASS結(jié)構(gòu)中 最重要的兩個域是第二個和最后一個 .第二個域是所有基于這個類來創(chuàng)建的窗口所使用的窗口過程的地址 .最后一個域是窗口類的文本名 .程序員可以隨意定義其名稱 .在只創(chuàng)建一個窗口的程序中 ,窗口類名稱通常設(shè)置為程序名稱 . 創(chuàng)建窗口 ? 窗口類定義了窗口的一般特征 ,因此可以使用同一窗口類創(chuàng)建許多不同的窗口 .實(shí)際調(diào)用CreateWindow創(chuàng)建窗口時(shí) ,可能指定有關(guān)窗口的更詳細(xì)的信息 . ? 新的 windows程序員可能有時(shí)會混淆窗口類和窗口之間的區(qū)別 ,以及為什么一個窗口的所有特征不能一步到位地指定 .實(shí)際上 ,以這種方式分開這些風(fēng)格信息是非常方便的 . ? 傳遞給 RegisterClass函數(shù)的信息在一個數(shù)據(jù)結(jié)構(gòu)中說明 ,而傳遞給 CreateWindow函數(shù)的信息作為函數(shù)的單獨(dú)參數(shù)來說明 . 顯示窗口 ? 在 CreateWindow調(diào)用返回之后 ,window內(nèi)部已經(jīng)創(chuàng)建了這個窗口 .這就是說 ,windows已經(jīng)分配了一塊內(nèi)存 ,用來保存關(guān)于在 CreateWindow調(diào)用中指定窗口的全部信息 ,再加上 windows在隨后所能找到的所有其它信息 . 消息循環(huán) ? Windows為當(dāng)前運(yùn)行的每個 windows程序維護(hù)一個消息隊(duì)列 .在發(fā)生輸入事件之后 , windows將事件轉(zhuǎn)換為一個消息 ,并將消息放入程序的消息隊(duì)列中 . ? 程序通過執(zhí)行一塊被稱為消息循環(huán)的代碼從消息隊(duì)列中取出消息 . 窗口過程 ? 實(shí)際的動作發(fā)生在窗口過程中 .窗口過程確定了在窗口的客戶區(qū)域中顯示些什么 ,以及窗口怎樣響應(yīng)用戶輸入 . ? 一個 windows程序可以包含多個窗口過程 ,一個窗口過程總是與調(diào)用 RegisterClass注冊的特定窗口類相關(guān)聯(lián) .CreateWindow函數(shù)根據(jù)特定窗口類創(chuàng)建一個窗口 .但基于一個窗口類 ,可以創(chuàng)建多個窗口 . ? 程序通常不直接調(diào)用窗口過程 ,窗口過程通常由windows本身調(diào)用 . 處理消息 ? 一般來說 ,windows程序員使用 switch和case結(jié)構(gòu)來確定窗口過程接受的是什么消息 ,以及如何適當(dāng)?shù)靥幚硭?.窗口過程在處理消息時(shí) ,必須返回 理的所有消息應(yīng)該被傳給名為DefWindowProc的 windows函數(shù) .從DefWindowProc返回的值必須由窗口過程返回 . ? 調(diào)用 DefWindowProc來為窗口過程不予處理的所有消息提供默認(rèn)處理 ,這是很重要的 . WM_PAINT消息 ? 這個消息在 windows程序設(shè)計(jì)中是很重要的 .當(dāng)窗口客戶區(qū)域的一部分或者全部變?yōu)闊o效 ,以致于必須刷新時(shí) ,將由這個消息通知程序 . windows編程的難點(diǎn) ? 在為傳統(tǒng)環(huán)境編寫簡單的 C程序時(shí) ,整個程序可能包含在 main函數(shù)中 ,而在 WinMain中只包含了注冊窗口類、創(chuàng)建窗口、從消息隊(duì)列中取出消息和發(fā)送消息所必須的代碼 . ? 程序的所有實(shí)際動作均在窗口過程中發(fā)生 . ? Windows程序所做的一切都是響應(yīng)發(fā)送給窗口過程的消息 .這是概念上的主要難點(diǎn)之一 ,在開始編寫 windows程序之前 ,必須先搞清楚 . 別調(diào)用我 ,我會調(diào)用你 ? Windows也調(diào)用用戶程序 .windows通過調(diào)用窗口過程來給窗口發(fā)送一個消息 . ? 在大多數(shù) windows程序中 ,程序的主要部分都用來處理消息 .windows可以發(fā)送給窗口過程的消息通常都以 WM打頭的名字標(biāo)識 ,并且都在 . 進(jìn)隊(duì)消息和不進(jìn)隊(duì)消息 ? 也就是說 ,進(jìn)隊(duì)的消息發(fā)送給消息隊(duì)列 ,而不進(jìn)隊(duì)的消息發(fā)送給窗口過程 .任何情況下 ,窗口過程都將獲得窗口所有的消息 (包括進(jìn)隊(duì)的和不進(jìn)隊(duì)的 ),窗口過程是窗口的消息中心 . 程序消息隊(duì)列 GetMessage Windows 消息 窗口過程 Dispa
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1