




已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Windows程序設(shè)計(jì) 第一講 概述,教師:代美,主要內(nèi)容,前言 Windows程序概述 Windows程序工作原理 課程主要內(nèi)容 示例程序,前言,Windows操作系統(tǒng)是當(dāng)今世界上最為流行的操作系統(tǒng)。 刺激了開發(fā)Windows應(yīng)用軟件的程序員隊(duì)伍不斷壯大 Windows操作系統(tǒng)同時(shí)也是一個(gè)大的函數(shù)庫(kù),其中包含了數(shù)以千計(jì)的函數(shù),這些函數(shù)都被封裝在一個(gè)接口中,這個(gè)接口就是Windows應(yīng)用程序編程接口,簡(jiǎn)稱Windows API。,前言,Windows API也是認(rèn)識(shí)Windows操作系統(tǒng)的一面鏡子,通過它,用戶可以深入系統(tǒng)地掌握Windows的方方面面。很難想象,一個(gè)程序員在沒有掌握Windows API的情況下,能編制出很好的基于Windows的應(yīng)用程序來(lái)。,學(xué)習(xí)Windows程序的意義,很多開發(fā)人員由于缺少對(duì)API函數(shù)的理解,造成無(wú)用的現(xiàn)象,從而阻礙了它的推廣。類庫(kù)和控件使應(yīng)用程序的開發(fā)簡(jiǎn)單很多,但是對(duì)于比較復(fù)雜和特殊的功能,使用類庫(kù)和控件使難以實(shí)現(xiàn)的,就需要采用API函數(shù)來(lái)實(shí)現(xiàn)。,課程學(xué)習(xí)的主要內(nèi)容,主要講授Windows程序的工作原理、以及windows環(huán)境下基于消息機(jī)制的程序設(shè)計(jì)的思想、方法和技巧。通過具體程序講述Windows環(huán)境下對(duì)話框及常用控件、菜單、加速鍵等知識(shí)。并且還講述基于文檔視圖程序、DLL動(dòng)態(tài)鏈接庫(kù)等程序的設(shè)計(jì)和實(shí)現(xiàn)。,Windows程序概述,Windows和Windows應(yīng)用程序最大的優(yōu)點(diǎn)就是用戶界面的一致性。 對(duì)用戶的另一個(gè)好處是使用了基于圖形的圖標(biāo)來(lái)代表應(yīng)用程序和數(shù)據(jù)。 Windows操作系統(tǒng)提供的“所見即所得”也是一個(gè)非常友好的特點(diǎn)。 Windows操作系統(tǒng)還提供了多任務(wù)功能。 Windows提供了開發(fā)獨(dú)立于設(shè)備的圖形的能力。,Windows 程序工作原理,Windows 程序設(shè)計(jì)是一種完全不同于傳統(tǒng)的DOS方式的程序設(shè)計(jì)方法,它是一種事件驅(qū)動(dòng)方式的程序設(shè)計(jì)模式。 從上面的討論中可以看出,Windows應(yīng)用程序在本質(zhì)上是面向?qū)ο蟮摹3绦蛱峁┙o用戶界面的可視對(duì)象在程序的內(nèi)部一般也是一個(gè)對(duì)象,用戶對(duì)可視對(duì)象的操作通過事件驅(qū)動(dòng)模式觸發(fā)相應(yīng)對(duì)象的可用方法。程序的運(yùn)行過程就是用戶的外部操作不斷產(chǎn)生事件,這些事件又被相應(yīng)的對(duì)象的過程處理。 一般的程序流程如圖ll所示。,Windows API和 SDK,一、Windows API 它是所有 Windows應(yīng)用程序的根本之所在。簡(jiǎn)單地說(shuō),API就是一系列的例程,應(yīng)用程序通過調(diào)用這些例程來(lái)請(qǐng)求操作系統(tǒng)完成一些低級(jí)服務(wù)。在Windows這樣的圖形用戶界面中,應(yīng)用程序的窗口、圖標(biāo)、菜單和對(duì)話框等就是由API來(lái)管理和維護(hù)的。,Windows API,(1)在DOS應(yīng)用程序下,可以通過getchar ()等函數(shù)直接等待鍵盤輸入,并直接向屏幕輸出。 (2)而在Windows下,由于允許多個(gè)任務(wù)同時(shí)運(yùn)行,應(yīng)用程序的輸入輸出是由Windows來(lái)統(tǒng)一管理的。 Windows 操作系統(tǒng)包括 3個(gè)內(nèi)核基本元件: GDI,KERNEL,USER。,Windows API具有兩種基本類型: Winl6 API和Win32 API。但是Win32 API除了幾乎包括了Winl6 API中的所有內(nèi)容以外,還包括很多的其他內(nèi)容。Windows API依靠 3個(gè)主要的核心組件提供 Windows的大部分函數(shù),在Winl6和 Win32中,它們具有不同的名稱,如表l一1所示。,二、Windows SDK Windows SDK(Windows Software Development Kit, Windows軟件開發(fā)工具包)和Windows API緊密聯(lián)系,它是一套幫助 C語(yǔ)言程序員創(chuàng)建Windows應(yīng)用程序的工具,在Windows SDK中包括了以下幾個(gè)組成部分: 大量的在線幫助,這些幫助描述了Windows編程所可能用到的函數(shù)、消息、結(jié)構(gòu)、宏及其他資源。 各種編程工具,如對(duì)話框編輯器及圖像編輯器等。,預(yù)習(xí)指導(dǎo)認(rèn)識(shí)Windows程序,首先回憶一下原先學(xué)的C語(yǔ)言 Windows程序引入 兩者對(duì)比 分析Windows程序,原先用c語(yǔ)言編寫的程序,#include main () printf (“hello, worldn“) ; ,用Windows SDK環(huán)境編寫程序,#include int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) MessageBox (NULL, TEXT (“Hello, Windows 98!“), TEXT (“HelloMsg“), 0); return 0 ; ,分析后一個(gè)程序,Windows關(guān)于hello, world程序的等價(jià)程序有和文字模式版本完全相同的組件。它有一個(gè)include聲明、一個(gè)程序進(jìn)入點(diǎn)、一個(gè)函數(shù)呼叫和一個(gè)return語(yǔ)句。,分析后一個(gè)程序,傳統(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)。 所謂的句柄是一個(gè)標(biāo)識(shí)對(duì)象的變量,或者是一個(gè)對(duì)操作系統(tǒng)資源的間接引用。句柄是指向一個(gè)“無(wú)類型對(duì)象”(Void*)的指針,也就是一個(gè)4字節(jié)長(zhǎng)的數(shù)據(jù)。其聲明是這樣的: typedef void *HANDLE Windows是一個(gè)多任務(wù)操作系統(tǒng),它可以同時(shí)運(yùn)行多個(gè)程序或一個(gè)程序的多個(gè)副本。為了對(duì)同一程序的多個(gè)副本進(jìn)行管理,Windows引入了實(shí)例句柄。Windows為每個(gè)應(yīng)用程序建立一張表,實(shí)例句柄就好像是這張表的一個(gè)索引。Windows不僅使用句柄來(lái)管理實(shí)例,也用它來(lái)管理窗口、位圖、字體、元文件、圖標(biāo)等系統(tǒng)資源。,分析后一個(gè)程序,MessageBox函數(shù)可以建立、現(xiàn)實(shí)和操作消息框。這個(gè)消息框包括一個(gè)定義消息和標(biāo)題、以及包括圖標(biāo)、按鈕等附加選項(xiàng)。構(gòu)造參數(shù)如下所示 int MessageBox( HWND hWnd, /指向消息對(duì)話框建立窗體句柄 LPCTSTR lpText, /指定顯示消息內(nèi)容 LPCTSTR lpCaption, /指定顯示對(duì)話框標(biāo)題 UINT uType /附加參數(shù)); 所有附加參數(shù)都是由MB_打頭的。包括三類: (1)顯示按鈕:MB_OK、MB_OKCANCEL、MB_ABORTRETRYIGNORE、MB_YESNOCANCEL、MB_YESNO、MB_RETRYCANCEL (2)指定按鈕默認(rèn) MB_DEFBUTTON1、MB_DEFBUTTON2、MB_DEFBUTTON3、MB_DEFBUTTON4 (3)指定外觀圖標(biāo) MB_ICONHAND、MB_ICONQUESTION、MB_ICONEXCLAMATION、MB_ICONASTERISK,Windows API程序的開發(fā)步驟,首先,從File菜單中選New。在 New對(duì)話框中,單擊Projects頁(yè)面標(biāo)簽,選擇 Win32 Application。在Location欄中,選擇一個(gè)子目錄,在 Project Name欄中,輸入該項(xiàng)目的名稱,此時(shí)該名稱是HelloMsg,Create New Workspace復(fù)選框應(yīng)該勾起來(lái),Platforms部分應(yīng)該顯示 Win32,選擇OK。 將會(huì)出現(xiàn)一個(gè)標(biāo)題為Win32 Application - Step 1 Of 1的對(duì)話框,指出要建立一個(gè)Empty Project,并按下Finish按鈕。 從File菜單中再次選擇New。在 New對(duì)話框中,選擇Files頁(yè)面標(biāo)簽,選擇 C+ Source File。Add To Project復(fù)選框應(yīng)被選中,并應(yīng)顯示HelloMsg。在 File Name欄中輸入HelloMsg.c,選中OK。,一些建議,首先需要明確一點(diǎn)Windows API不是開發(fā)Windows的唯一方法。 下面是我對(duì)于開發(fā)Windows應(yīng)用程序的語(yǔ)言選擇簡(jiǎn)單分類 (1)對(duì)于開發(fā)效率要求非常高、功能非常強(qiáng)大的程序 建議考慮使用 C 語(yǔ)言和Windows APIs 開發(fā)Win32 API應(yīng)用程序 (2)對(duì)于一些要求效率高的、專業(yè)商業(yè)應(yīng)用程序 建議考試使用通過C+封裝過的Windows APIs 開發(fā)MFC
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 縫制設(shè)備遠(yuǎn)程診斷與維護(hù)服務(wù)考核試卷
- 旅行社團(tuán)隊(duì)建設(shè)與管理考核試卷
- 電氣機(jī)械的設(shè)計(jì)參數(shù)與選型指南考核試卷
- 自動(dòng)扶梯梯級(jí)防滑與防夾技術(shù)的智能化實(shí)現(xiàn)與案例分析考核試卷
- 疫苗接種在應(yīng)對(duì)全球抗生素耐藥性危機(jī)中的地位考核試卷
- 建筑物拆除工程監(jiān)理考核試卷
- 軌道維護(hù)與修復(fù)設(shè)備考核試卷
- 股權(quán)代持與公司財(cái)務(wù)狀況監(jiān)管協(xié)議
- 藥品安全消防管理
- 教育行業(yè)教學(xué)資源共享及培訓(xùn)合作框架協(xié)議
- 《常見疾病康復(fù)》第一章常見功能障礙康復(fù)-1~3節(jié)
- GB/T 26745-2021土木工程結(jié)構(gòu)用玄武巖纖維復(fù)合材料
- GB/T 21206-2007線路柱式絕緣子特性
- 小學(xué)生“四大名著”知識(shí)競(jìng)賽課件
- 領(lǐng)料登記表(模板)
- 《基于SWOT分析的企業(yè)營(yíng)銷策略研究(論文)6800字》
- 公路路基施工規(guī)范
- 初中英語(yǔ)牛津譯林版8B unit7 international charities Task Charity work部?jī)?yōu)課件
- 華北電力大學(xué)ppt模板
- 旅游資源分類調(diào)查評(píng)價(jià)表 2017版
- 《我的夢(mèng)-中國(guó)夢(mèng)》主題班會(huì)課件
評(píng)論
0/150
提交評(píng)論