




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第8章 Visual C+編程基礎(chǔ),本章要點,通過本章的學(xué)習(xí),使讀者: Windows編程基本概念,以及消息驅(qū)動的程序結(jié)構(gòu) Win32應(yīng)用程序的結(jié)構(gòu)和特點 MFC編程基礎(chǔ)、利用向?qū)Ы⒁粋€應(yīng)用程序框架 MFC程序的界面設(shè)計:包括菜單、工具欄上按鈕、對話框等 資源的創(chuàng)建與維護(hù):包括鼠標(biāo)資源、快捷鍵、菜單、工具欄等,8.1 Windows編程概念,8.1.1 事件與消息 事件以如下三種方式產(chǎn)生: (1) 通過輸入設(shè)備,如鍵盤和鼠標(biāo),產(chǎn)生硬件事件。 (2) 通過屏幕上可視的對象,如菜單、工具欄按鈕、滾動條和對話框上的控件。 (3) 來自Windows內(nèi)部,例如,當(dāng)一個后面的窗口顯示到前面來。 Win
2、dows將消息放入目標(biāo)應(yīng)用程序的消息對列中,在消息對列中所有消息都處于等待狀態(tài),直到應(yīng)用程序準(zhǔn)備處理它。,8.1.2 消息驅(qū)動,消息驅(qū)動也稱事件驅(qū)動,Windows程序設(shè)計是基于事件驅(qū)動,Windows對消息有一套完善嚴(yán)格的定義,并在其產(chǎn)生時將其發(fā)送給所有相關(guān)的應(yīng)用程序,這些消息用于驅(qū)動應(yīng)用程序運行以實現(xiàn)一定的功能。 事件驅(qū)動的程序設(shè)計不是由事件的順序來控制,而是由事件的發(fā)生來控制,而這種事件的發(fā)生是隨機(jī)的、不確定的,并沒有預(yù)定的順序,這樣就允許程序的用戶用各種合理的順序來安排程序的流程。,圖8-1 過程驅(qū)動與事件驅(qū)動模型之比較,8.2 Windows程序結(jié)構(gòu),8.2.1 簡單的Windows
3、應(yīng)用程序 【例8-1】一個簡單的Windows應(yīng)用程序(MyChap8_1), 控制臺應(yīng)用程序是以main函數(shù)作為進(jìn)入程序的初始入口點,但在Windows應(yīng)用程序中,main函數(shù)被WinMain函數(shù)取而代之。,WinMain函數(shù)的原型如下:,int WINAPI WinMain( HINSTANCE hInstance, /當(dāng)前實例句柄 HINSTANCE hPrevInstance, /以前的實例句柄 LPSTR lpCmdLine, /指向命令行參數(shù)的指針 int nCmShow) /窗口的顯示標(biāo)志, 每一個Windows應(yīng)用程序都需要Windows.h頭文件,它還包含了其它的Window
4、s頭文件。這些頭文件定義了Windows的所有數(shù)據(jù)類型、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)和符號常量。 程序中,MessageBox是一個Win32 API函數(shù),用來彈出對話框,顯示信息。,【例8-2】一個較完整的Windows應(yīng)用程序(MyChap8_2)。,如何實現(xiàn)?,程序說明如下: 1. WinMain()函數(shù) 2注冊窗口類 3創(chuàng)建窗口 4顯示和更新窗口 5消息循環(huán),while (GetMessage( /將消息發(fā)送給窗口過程, 這里是WnProc ,消息循環(huán),6消息處理函數(shù) 7結(jié)束消息循環(huán) 8.2.2 Windows編程特點 消息驅(qū)動機(jī)制; 設(shè)備獨立性; 基于資源的程序設(shè)計; 動態(tài)鏈接庫,1消息驅(qū)動機(jī)
5、制 2設(shè)備獨立性 3基于資源的程序設(shè)計 4動態(tài)鏈接庫,8.2.3 Windows基本數(shù)據(jù)類型,8.3 MFC編程基礎(chǔ),8.3.1 認(rèn)識MFC 8.3.2 MFC應(yīng)用程序框架 8.3.3 MFC消息映射及處理 8.3.4 消息響應(yīng)函數(shù) 8.3.5 程序的運行過程,8.4 第一個MFC應(yīng)用程序,用Visual C+6.0的MFC編寫Windows應(yīng)用程序,是一種“填空式”的編程方法,一般有三個步驟:,創(chuàng)建工程:用Visual C+6.0的MFC AppWizard生 成應(yīng)用程序的工程文件,也就是創(chuàng)建應(yīng)用程序的基 本框架。,(2) 可視化設(shè)計:用Visual C+自帶的工具軟件Winzards, 制
6、作Windows風(fēng)格的圖形用戶界面和各種控件,如矩形 按鈕、滾動條和單選按鈕等,(3) 編寫程序代碼:根據(jù)目標(biāo)程序的要求,用MFC ClassWizard 添加消息響應(yīng)函數(shù),然后用Visual C+提供的文本編輯器和C+ 程序設(shè)計語言在函數(shù)中編寫代碼。,8.4.1 MyHello應(yīng)用程序 8.4.2 創(chuàng)建工程 8.4.3 編寫程序代碼 8.4.4 編譯運行MyHello應(yīng)用程序,8.5 應(yīng)用程序分析 8.6資源 Visual C+6.0可以處理的資源有:菜單(Menu)、圖標(biāo)(Icon)、對話框(Dialog)、位圖(Bitmap)、快捷鍵(Accelerator)、工具欄(Toolbar)、光標(biāo)(Cursor)、描述信息(Version)和字符串表(String Table)。,習(xí)題八,1Windows程序設(shè)計的特點是什么? 2Windows應(yīng)用程序的優(yōu)點是什么? 3. MFC AppWizard(應(yīng)用向?qū)?可以創(chuàng)建哪幾類應(yīng)用程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 景區(qū)擴(kuò)建籌備計劃方案
- 高端酒店停車場經(jīng)營管理合同
- 乾隆與皇后考試題及答案
- 數(shù)據(jù)日報面試題及答案
- 主動脈夾層的診斷與治療
- 調(diào)度中心管理方案模板
- 車輛無償租賃給臨時施工項目協(xié)議
- 石板保護(hù)處理方案
- 消防驗收計劃及方案
- 英國教育發(fā)展史綱
- 基本原理與性能特點多自由度電磁軸承課件
- Q∕SY 1836-2015 鍋爐 加熱爐燃油(氣)燃燒器及安全聯(lián)鎖保護(hù)裝置檢測規(guī)范
- 北京輸變電工程標(biāo)準(zhǔn)工藝應(yīng)用圖冊(圖文并茂)
- 儀器使用記錄表
- 石河子大學(xué)化學(xué)化工學(xué)院學(xué)院綜合測評方案-理學(xué)院
- 《汽車電工電子技術(shù)》全套教案(完整版)
- 國家職業(yè)技能標(biāo)準(zhǔn) (2021年版) 嬰幼兒發(fā)展引導(dǎo)員
- (高清正版)JJF(浙)1091—2014內(nèi)測卡尺校準(zhǔn)規(guī)范
- 伯杰氏細(xì)菌系統(tǒng)分類學(xué)手冊
- 國際結(jié)算業(yè)務(wù)系列培訓(xùn)-福費廷業(yè)務(wù)課件
- 班組計件承包協(xié)議書
評論
0/150
提交評論