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

正文內(nèi)容

mfcc教程ppt課件(已修改)

2025-05-17 18:19 本頁面
 

【正文】 1 Windows編程機制( API) ? Windows是一個多進程的圖形窗口操作系統(tǒng) ,Windows應用程序與 DOS應用程序有很大的區(qū)別 。DOS應用程序采用順序執(zhí)行過程 , 而 Windows是一個基于事件的消息 ( Message) 驅(qū)動系統(tǒng) 。 ? Windows應用程序是按照 “ 事件 → 消息 → 處理 ”非順序的機制運行 。 當有某個事件 ( 如單擊鼠標 、鍵盤輸入和執(zhí)行菜單命令等 ) 發(fā)生時 , Windows會根據(jù)具體的事件產(chǎn)生對應的消息 , 并發(fā)送到指定應用程序的消息隊列;應用程序從消息隊列中取出消息 , 并根據(jù)不同的消息進行不同的處理 。 ? Windows API( Application Programming Interface) 是 Windows操作系統(tǒng)與應用程序之間的標準接口 , 它提供了上千個標準函數(shù) 、 宏和數(shù)據(jù)結(jié)構(gòu)的定義 。 ? 在使用 Visual C++、 Visual Basic和 Delphi編程時都可以調(diào)用 Windows API函數(shù) , Windows應用程序可通過調(diào)用標準 Windows API函數(shù)使用系統(tǒng)提供的功能 。 ? Windows API函數(shù)定義在一些 DLL動態(tài)鏈接庫中 ,其中最主要的 DLL 是 、 和 。 關(guān)于 API和 SDK ? 傳統(tǒng) SDK編程:程序員通過調(diào)用 API函數(shù) , 自己動手 、 按部就班地實現(xiàn)程序各部分的功能 。SDK應用程序的結(jié)構(gòu)比較清晰 , 但程序員必須編寫所有的功能代碼 。 ? 利用 Visual C++編寫一個類 SDK應用程序:首先利用 Win32 Application向?qū)Ы⒁粋€ Windows應用程序框架 , 然后根據(jù)需要可以向程序項目中添加一些頭文件 、 實現(xiàn)源文件和資源文件 , 并編寫具體的程序代碼 。 例 編寫一個名為 Hello的 類 SDK應用程序 , 當單擊鼠標時通過調(diào)用 API函數(shù) , 以彈出一個提示信息對話框 。 1. 執(zhí)行 “ File|New”菜單命令 , 在 New對話框的Project頁面中選擇 Win32 Application項目類型 , 輸入程序名 Hello。 在向?qū)У?1步選擇 “ A typital “Hello world!” application”項 , 單擊 Finish按鈕 。 2. 在窗口函數(shù) WndProc()的消息處理分支 switchcase結(jié)構(gòu)中添加 WM_LBUTTONDOWN鼠標單擊消息及其處理代碼: case WM_LBUTTONDOWN: MessageBox(NULL, You pressed the left button of mouse !,Message,NULL)。 break。 SDK應用程序結(jié)構(gòu): ? 一個由 API函數(shù)構(gòu)造的 Windows程序的功能由三個部分組成: 入口函數(shù) 、 窗口函數(shù) 和 Windows系統(tǒng) 。 ? 每一個程序都有一個主函數(shù) , WinMain()函數(shù)就是 Windows程序的入口主函數(shù) 。 該函數(shù)的主要任務(wù)是完成一些初始化工作并維護一個消息循環(huán) 。當消息循環(huán)結(jié)束后 , 就退出了 WinMain()函數(shù) ,也就退出了應用程序 。 此外 , WinMain()函數(shù)還負責完成窗口的 注冊 、 創(chuàng)建 和 顯示 。 ? Windows程序以 窗口 的形式存在 , 在不同窗口之間傳遞消息是 Windows和應用程序進行交流的主要形式 。 程序具體功能由不同的窗口函數(shù)實現(xiàn) 。 句柄 ? 在 Windows中,用 句柄( Handle) 標識應用程序中不同的對象和同類對象中不同的實例,如一個具體的窗口、按鈕、輸出設(shè)備、畫筆和文件等。通過句柄可以獲得相應的對象信息。常用的句柄類型有: HWND 、 HINSTANCE 、 HDC 、HCURSOR、 HICON、 HMENU等。 ? 句柄常作為 Windows消息和 API函數(shù)的參數(shù),在采用 API方法編寫 Windows應用程序時要經(jīng)常使用句柄。而采用 MFC方法編寫 Windows應用程序時,由于對應的 MFC類已對句柄進行了封裝,大多數(shù)情況下不再需要訪問句柄。 獲取 MFC類對象的句柄的兩種方法: ? 通過訪問類的 public屬性成員變量 , 如類 CWnd的成員變量 m_hWnd就是一個窗口對象的句柄 。 ? 先定義一個句柄 , 然后調(diào)用 MFC類的成員函數(shù) Attach()將句柄與一個 MFC類對象聯(lián)系在一起 , 此時的句柄就成為該 MFC類對象的句柄 。 在退出對象作用域之前 , 調(diào)用成員函數(shù) Detach()將句柄和對象進行分離 。 如下所示: CWnd myWnd。 HWND hWnd。 (hWnd)。 . . . . . . ()。 ? 所謂 消息 就是用于描述某個事件發(fā)生的信息 , 而 事件 是對于 Windows的某種操作 。 ? 事件和消息密切相關(guān) , 事件是因 , 消息是果 , 事件產(chǎn)生消息 , 消息對應事件 。 所謂消息的響應 , 其實質(zhì)就是事件的響應 。 ? 消息驅(qū)動 是 Windows應用程序的核心 , 所有的外部響應 ( 如鍵盤 、 鼠標和計時器等 ) 都被 Windows先攔截 , 轉(zhuǎn)換成消息后再發(fā)送到應用程序中的目標對象 , 應用程序根據(jù)消息的具體內(nèi)容進行處理 。 ? 消息不僅可由 Windows發(fā)出 , 它也可由應用程序本身或其它程序產(chǎn)生 。 Windows為每一個應用程序都維護一個或多個 消息隊列 , 發(fā)送到每個程序窗口的消息都排成一個隊列 。 事件和 消息 Windows消息 分為三種類型: ? 標準 Windows 消息 :以 WM_ 前綴 ( 但 不 包 括WM_COMMAND) 開始的消息 , 包括鼠標消息 、 鍵盤消息和窗口消息 , 如 WM_MOVE 、 WM_PAINT等 。 ? 控件通知 ( Control Notification) 消息 :對控件操作引起的消息 , 是 控 件 和 子 窗 口 向 其 父 窗 口 發(fā) 出 的WM_COMMAND通知消息 。 例如 , 當用戶修改了編輯控件中的文本后 , 編輯控件向其父窗口發(fā)送WM_COMMAND通知消息 。 ? 命令 ( Command) 消息 :由菜單項 、 工具欄按鈕 、 快捷鍵等用戶界面對象發(fā)出的 WM_COMMAND消息 。 命令消息與其它消息不同 , 它可被更廣泛的的對象如文檔 、 文檔模板 、 應用程序?qū)ο?、 窗口和視圖等處理 。 typedef struct tagMSG { HWND hWnd。 // 目標窗口句柄 UINT message。 // 消息標識 WPARAM wParam。 // 消息參數(shù) 1( 附加信息 , 16位 ) LPARAM lParam。 // 消息參數(shù) 2( 附加信息 , 32位 ) DWORD time。 // 消息發(fā)送時間 POINT pt。 // 消息發(fā)送時鼠標的屏幕坐標 } MSG。 消息用 MSG結(jié)構(gòu)表示: 例 為程序 Hello添加鍵盤消息處理功能,判斷當前按下的鍵是不是 A或 a鍵,并給出相應的提示。 打開程序項目 Hello, 在文件 數(shù) WndProc()的 switch消息處理分支中添加鍵盤消息的處理代碼: case WM_KEYDOWN: // 處理鍵盤消息 if(wParam==0x41) // A或 a鍵的虛鍵碼為 0x41H MessageBox(NULL, The key you pressed is A or a !,KEYDOWN,NULL)。 else MessageBox(NULL, The key you pressed is not A or a !,KEYDOWN,NULL)。 break。 利用 Windows API開發(fā)程序的用戶有這樣的體會 , 即使開發(fā)一個簡單的 Windows應用程序也需要對 Windows的編程原理有很深刻的認識 , 需要手工編寫冗長的代碼 。 由于程序的出錯率是隨著代碼長度的增加呈幾何級數(shù)增長的 , 而且當程序長度逐漸膨脹時 , 調(diào)試程序會變得越來越困難 。 因此 , 傳統(tǒng)的 Windows應用程序設(shè)計需要程序員有極大的耐心和豐富的編程經(jīng)驗 。 Visual C++捆綁了微軟的基礎(chǔ)類 MFC, 編程時我們就可以利用類的可重用性和可擴充性 , 大大降低 Windows應用程序設(shè)計的難度和工作量 。 2MFC的基本原理和使用方法 2節(jié)要點 – MFC類 ( 對應教材的第五章全部內(nèi)容 ) – MFC應用程序框架 – MFC消息管理 – MFC宏 一、 MFC概述(教材 1節(jié)) ? 類庫是一個可以在應用程序中使用的相互關(guān)聯(lián)的C++類的集合 。 MFC作為一個 Windows編程類庫 , 它包含了 200多個類 , 封裝了 Windows的大部分編程對象以及與它們有關(guān)的操作 。 ? 雖然程序在功能上千差萬別 , 但從本質(zhì)上看 , 都可以分為用戶界面設(shè)計 、 文件操作 、 數(shù)據(jù)庫訪問及多媒體使用等幾部分 , 這些都可以通過一些類來實現(xiàn) 。 MFC提供了一個標準化的程序結(jié)構(gòu) , 使開發(fā)人員不必從頭設(shè)計一個 Windows應用程序 。 ? MFC實際上是一個龐大的文件庫 , 它由幾百個執(zhí)行文件和源代碼文件 ( 如 H文件 ) 組成 。 MFC類(對應教材的第五章全部內(nèi)容) 在 Microsoft推出 , Windows操作系統(tǒng)受到越來越多的人的青睞。因此當時學習Windows程序設(shè)計便成為程序員的顯學。但是不久,開發(fā)人員發(fā)現(xiàn)撰寫 Windows應用程序是重復、厭煩的過程,而且效率極低。因為每一個窗口都需要在窗口函數(shù)中處理大量的消息,導致出現(xiàn)大量的重復代碼。 隨著 C++語言的盛行 , 開發(fā)人員發(fā)現(xiàn)利用 C++語言的特性來封裝 Windows API和 Windows應用程序的開發(fā)可以明顯地提高程序的開發(fā)效率 。 于是 , 人們對這種新的開發(fā)模式有了強烈的需求 。 在這
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1