亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chap1_3.htm

?? VC++編程實例。非常詳細
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>Windows應用程序設計的特點</title>
</head>

<body bgcolor="#FFFFFF" text="#000000" link="#3973DE" alink="#3973DE"
style="text-decoration: none" background="../bg.gif">
<div align="center"><center>

<table border="0" width="85%" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
  <tr>
    <td><div align="center"><center><table border="0" width="615" cellpadding="0"
    cellspacing="0">
      <tr>
        <td width="266" bgcolor="#15397D"></td>
        <td width="349" bgcolor="#000000"><p align="right"><a href="../index.htm"><strong><font
        COLOR="red">電腦報網絡學院Visual C++網絡教程</font></strong></a> </td>
      </tr>
    </table>
    </center></div><p ALIGN="CENTER"><b><font SIZE="3"><br>
    </font><font color="#3973DE" FACE="Times New Roman" SIZE="3">1.3 Windows</font><font
    SIZE="3" color="#3973DE">應用程序設計的特點</font></b></p>
    <p><span style="font-size: 9pt">&nbsp;&nbsp;&nbsp; 如前所述,Windows操作系統具有MS-DOS操作系統無可比擬的優點,因而受到了廣大軟件開發人員的親睞。但是,熟悉DOS環境下軟件開發的程序員很快就會發現,Windows編程與DOS環境下編程相比有很大的不同。Windows要求以一種全新的思維方式進行程序設計,主要表現為以下幾點:</span></p>
    <p><span style="font-size: 9pt"><b>1.3.1事件驅動的程序設計</b></span></p>
    <p><span style="font-size: 9pt">&nbsp;&nbsp;&nbsp; 傳統的MS-DOS程序主要采用順序的、關聯的、過程驅動的程序設計方法。一個程序是一系列預先定義好的操作序列的組合,它具有一定的開頭、中間過程和結束。程序直接控制程序事件和過程的順序。這樣的程序設計方法是面向程序而不是面向用戶的,交互性差,用戶界面不夠友好,因為它強迫用戶按照某種不可更改的模式進行工作。它的基本模型如圖1.1所示。<br>
    &nbsp;&nbsp;&nbsp; 事件驅動程序設計是一種全新的程序設計方法,它不是由事件的順序來控制,而是由事件的發生來控制,而這種事件的發生是隨機的、不確定的,并沒有預定的順序,這樣就允許程序的的用戶用各種合理的順序來安排程序的流程。對于需要用戶交互的應用程序來說,事件驅動的程序設計有著過程驅動方法無法替代的優點。它是一種面向用戶的程序設計方法,它在程序設計過程中除了完成所需功能之外,更多的考慮了用戶可能的各種輸入,并針對性的設計相應的處理程序。它是一種“被動”式程序設計方法,程序開始運行時,處于等待用戶輸入事件狀態,然后取得事件并作出相應反應,處理完畢又返回并處于等待事件狀態。它的框圖如圖1.2所示:<br>
    &nbsp;&nbsp;&nbsp; 在圖中,輸入界面1-4并沒有固定的順序,用戶可以隨機選取,以任何合理的順序來輸入數據。</span></p>
    <p ALIGN="CENTER"><span style="font-size: 9pt"><img src="T1_1.gif"
    alt="T1_1.tif (69737 bytes)" WIDTH="189" HEIGHT="321"></span></p>
    <p ALIGN="CENTER"><span style="font-size: 9pt">圖1.1 過程驅動模型</span></p>
    <p ALIGN="CENTER"><span style="font-size: 9pt"><img src="T1_2.gif"
    alt="T1_2.tif (200700 bytes)" WIDTH="565" HEIGHT="302"></span></p>
    <b><p ALIGN="CENTER"><span style="font-size: 9pt">圖<small>1.2</small>事件驅動程序模型</span></b></p>
    <p><span style="font-size: 9pt"><b>1.3.2 消息循環與輸入</b></span></p>
    <p><span style="font-size: 9pt"> 
    &nbsp;&nbsp;&nbsp; 事件驅動圍繞著消息的產生與處理展開,一條消息是關于發生的事件的消息。事件驅動是靠消息循環機制來實現的。<br>
    &nbsp;&nbsp;&nbsp; 消息是一種報告有關事件發生的通知。<br>
    &nbsp;&nbsp;&nbsp; 消息類似于DOS下的用戶輸入,但比DOS的輸入來源要廣,Windows應用程序的消息來源有以下四種:<br>
    &nbsp;&nbsp;&nbsp; (1)輸入消息:包括鍵盤和鼠標的輸入。這一類消息首先放在系統消息隊列中,然后由Windows將它們送入應用程序消息隊列中,由應用程序來處理消息。<br>
    &nbsp;&nbsp;&nbsp; (2)控制消息:用來與Windows的控制對象,如列表框、按鈕、檢查框等進行雙向通信。當用戶在列表框中改動當前選擇或改變了檢查框的狀態時發出此類消息。這類消息一般不經過應用程序消息隊列,而是直接發送到控制對象上去。<br>
    &nbsp;&nbsp;&nbsp; (3)系統消息:對程序化的事件或系統時鐘中斷作出反應。一些系統消息,象DDE消息(動態數據交換消息)要通過Windows的系統消息隊列,而有的則不通過系統消息隊列而直接送入應用程序的消息隊列,如創建窗口消息。<br>
    &nbsp;&nbsp;&nbsp; (4)用戶消息:這是程序員自己定義并在應用程序中主動發出的,一般由應用程序的某一部分內部處理。<br>
    &nbsp;&nbsp;&nbsp; 在DOS應用程序下,可以通過getchar()、getch()等函數直接等待鍵盤輸入,并直接向屏幕輸出。而在Windows下,由于允許多個任務同時運行,應用程序的輸入輸出是由Windows來統一管理的。<br>
    &nbsp;&nbsp;&nbsp; Windows操作系統包括三個內核基本元件:GDI, KERNEL ,USER。其中GDI(圖形設備接口)負責在屏幕上繪制像素、打印硬拷貝輸出,繪制用戶界面包括窗口、菜單、對話框等。系統內核KERNEL支持與操作系統密切相關的功能:如進程加載,文本切換、文件I/O,以及內存管理、線程管理等。USER為所有的用戶界面對象提供支持,它用于接收和管理所有輸入消息、系統消息并把它們發給相應的窗口的消息隊列。消息隊列是一個系統定義的內存塊,用于臨時存儲消息;或是把消息直接發給窗口過程。每個窗口維護自己的消息隊列,并從中取出消息,利用窗口函數進行處理。框圖如下:</span></p>
    <p ALIGN="CENTER"><span style="font-size: 9pt"><img src="T1_3.gif"
    alt="T1_3.tif (207496 bytes)" WIDTH="456" HEIGHT="327"></span></p>
    <p ALIGN="CENTER"><span style="font-size: 9pt">圖1.3 消息驅動模型</span></p>
    <p><span style="font-size: 9pt"> </span></p>
    <p><span style="font-size: 9pt"> </span></p>
    <p><span style="font-size: 9pt"><b>1.3.3 圖形輸出</b></span></p>
    <p><span style="font-size: 9pt">&nbsp;&nbsp;&nbsp; Windows程序不僅在輸入上與DOS程序不同,而且在程序輸出上也與DOS有著很大不同,主要表現為:<br>
    &nbsp;&nbsp;&nbsp; 1.DOS程序獨占整個顯示屏幕,其他程序在后臺等待。而Windows的每一個應用程序對屏幕的一部分進行處理。DOS程序可以直接往屏幕上輸出,而Windows是一個多窗口的操作系統,由操作系統來統一管理屏幕輸出;每個窗口要輸出內容時,必須首先向操作系統發出請求(GDI請求),由操作系統完成實際的屏幕輸出工作。<br>
    &nbsp;&nbsp;&nbsp; 2.Windows程序的所有輸出都是圖形。Windows提供了豐富的圖形函數用于圖形輸出,這對輸出圖形是相當方便的,但是由于字符也被作為圖形來處理,輸出時的定位要比DOS復雜的多。<br>
    &nbsp;&nbsp;&nbsp; 比如,在DOS字符方式下,我們可以寫出如下程序用于輸出兩行文字:<br>
    printf(“Hello,\n”);<br>
    printf(“This is DOS program.\n”);<br>
    &nbsp;&nbsp;&nbsp; 而在Windows下要輸出這兩行文字所做的工作要復雜的多。因為Windows輸出是基于圖形的,它輸出文本時不會象DOS那樣自動換行,而必須以像素為單位精確定位每一行的輸出位置。另外,由于Windows提供了豐富的字體,所以在計算坐標偏移量時還必須知道當前所用字體的高度和寬度。<br>
    &nbsp;&nbsp;&nbsp; 3.Windows下的輸出是設備無關的。在DOS下編寫過Foxpro程序的讀者常常會有這樣的體會,在編寫打印報表程序時,要針對不同的打印機在程序中插入不同的打印控制碼,用以控制換頁、字體設置等選項。這樣的程序編寫起來繁瑣,而且不容易移植(因為換一臺不同型號的打印機就要重新修改程序)。而Windows下的應用程序使用圖形設備接口(GDI)來進行圖形輸出。GDI屏蔽了不同設備的差異,提供了設備無關的圖形輸出能力,Windows應用程序只要發出設備無關的GDI請求(如調用Rectangle畫一個矩形),由GDI去完成實際的圖形輸出操作。對于一臺具有打印矩形功能的PostScript打印機來說,GDI可能只需要將矩形數據傳給驅動程序就可以了,然后由驅動程序產生PostScript命令繪制出相應的矩形;而對于一臺沒有矩形輸出功能的點陣打印機來說,GDI可能需要將矩形轉化為四條線,然后向驅動程序發出畫線的指令,在打印機上輸出矩形。當然,這兩種輸出在用戶看來并沒有什么區別。<br>
    &nbsp;&nbsp;&nbsp; Windows的圖形輸出是由圖形設備接口(GDI)來完成的,GDI是系統原始的圖形輸出庫,它用于在屏幕上輸出像素、在打印機上輸出硬拷貝以及繪制Windows用戶界面。<br>
    &nbsp;&nbsp;&nbsp; GDI提供兩種基本服務:創建圖形輸出和存儲圖象。GDI提供了大量用于圖形輸出的函數,這些函數接收應用程序發出來的繪圖請求、處理繪圖數據并根據當前使用設備調用相應的設備驅動程序產生繪圖輸出。這些繪圖函數分為三類:一是文字輸出,二是矢量圖形函數,用于畫線、圓等幾何圖形,三是光柵(位圖)圖形函數,用于繪制位圖。<br>
    &nbsp;&nbsp;&nbsp; GDI識別四種類型的設備:顯示屏幕、硬拷貝設備(打印機、繪圖機)、位圖和圖元文件。前兩者是物理設備,后兩者是偽設備。一個偽設備提供了一種在RAM里或磁盤里存儲圖象的方法。位圖存放的是圖形的點位信息,占用較多的內存,但速度很快。圖元文件保存的是GDI函數的調用和調用參數,占用內存較少,但依賴于GDI,因此不可能用某個設備來創建圖元文件,而且速度比位圖要慢。<br>
    &nbsp;&nbsp;&nbsp; GDI的圖形輸出是面向窗口的,面向窗口包含兩層含義:<br>
    &nbsp;&nbsp;&nbsp; (1)每個窗口作為一個獨立的繪圖接口來處理,有它自己的繪圖坐標。當程序在一個窗口中繪圖時,首先建立缺省的繪圖坐標,原點(0,0)位于窗口用戶區的左上角。每個窗口必須獨立的維護自己的輸出。<br>
    &nbsp;&nbsp;&nbsp; (2)繪圖僅對于本窗口有效,圖形在窗口邊界會被自動裁剪,也就是說窗口中的每一個圖形都不會越出邊界。即使想越出邊界,也是不可能的,窗口會自動的防止其他窗口傳過來的任何像素。這樣,你在窗口內繪圖時,就不必擔心會偶然覆蓋其他程序的窗口,從而保證了Windows下同時運行多個任務時各個窗口的獨立性。</span></p>
    <p><span style="font-size: 9pt"><b>1.3.4 用戶界面對象</b></span></p>
    <p><span style="font-size: 9pt">&nbsp;&nbsp;&nbsp; Windows支持豐富的用戶接口對象,包括:窗口、圖標、菜單、對話框等等。程序員只需簡單的幾十行代碼,就可以設計出一個非常漂亮的圖形用戶界面。而在DOS環境下,則需要大量的代碼來完成同樣的工作,而且效果也沒有Windows提供的那么好。下面我們介紹一下用戶界面對象中的一些術語和相關概念。</span></p>
    <p><span style="font-size: 9pt"><b>窗口</b></span></p>
    <p><span style="font-size: 9pt"> 
    &nbsp;&nbsp;&nbsp; 窗口是用戶界面中最重要的部分。它是屏幕上與一個應用程序相對應的矩形區域,是用戶與產生該窗口的應用程序之間的可視界面。每當用戶開始運行一個應用程序時,應用程序就創建并顯示一個窗口;當用戶操作窗口中的對象時,程序會作出相應反應。用戶通過關閉一個窗口來終止一個程序的運行;通過選擇相應的應用程序窗口來選擇相應的應用程序。一個典型的窗口外觀如圖1.4所示。</span></p>
    <p align="center"><span style="font-size: 9pt"><img src="T1_4.jpg"
    alt="T1_4.jpg (15734 bytes)" WIDTH="469" HEIGHT="324"></span></p>
    <p align="center"><span style="font-size: 9pt">圖1.4 窗口</span></p>
    <p><span style="font-size: 9pt"><b>邊框</b></span></p>
    <p><span style="font-size: 9pt"> 
    &nbsp;&nbsp;&nbsp; 絕大多數窗口都有一個邊框,用于指示窗口的邊界。同時也用來指明該窗口是否為活動窗口,當窗口活動時,邊框的標題欄部分呈高亮顯示。用戶可以用鼠標拖動邊框來調整窗口的大小。</span></p>
    <p><span style="font-size: 9pt"><b>系統菜單框</b></span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt"> 
    &nbsp;&nbsp;&nbsp; 系統菜單框位于窗口左上角,以當前窗口的圖標方式顯示,用鼠標點一下該圖標(或按ALT+空格鍵)就彈出系統菜單。系統菜單提供標準的應用程序選項,包括:Restore(還原窗口原有的大小),Move(使窗口可以通過鍵盤上的光標鍵來移動其位置),Size(使用光標鍵調整窗口大小),Minimize(將窗口縮成圖標),Maximize(最大化:使窗口充滿整個屏幕)和Close(關閉窗口)。</span></p>
    <p><span style="font-size: 9pt"><b>標題欄</b></span></p>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产精品v| 91小视频在线观看| 精品欧美一区二区在线观看| 美女脱光内衣内裤视频久久影院| 777xxx欧美| 精品亚洲国内自在自线福利| 国产日产欧美一区| wwwwww.欧美系列| yourporn久久国产精品| 亚洲男人电影天堂| 欧美日韩在线三区| 精品午夜久久福利影院| 国产人久久人人人人爽| 91亚洲精华国产精华精华液| 亚洲一区二区三区四区不卡| 69堂成人精品免费视频| 国产伦精品一区二区三区视频青涩 | 欧美日韩综合色| 青青草成人在线观看| 国产日韩精品一区| 欧美在线一区二区| 激情综合色播激情啊| 国产精品成人网| 欧美日韩一区二区在线视频| 狠狠色丁香久久婷婷综合丁香| 欧美国产日韩在线观看| 欧美日韩国产综合草草| 精品一区二区精品| 亚洲免费色视频| 亚洲精品一区二区三区影院 | 久久国产精品免费| 欧美激情在线看| 91精品在线观看入口| 成人在线一区二区三区| 秋霞av亚洲一区二区三| 国产精品久久三| 欧美电影精品一区二区| 欧洲中文字幕精品| 看片网站欧美日韩| 一区二区三区在线观看视频 | 欧美一区二区三区色| 成人美女视频在线看| 免费人成精品欧美精品| 丝袜美腿亚洲综合| 亚洲精品国产a久久久久久| 日韩欧美国产三级| 欧美影片第一页| 日韩一卡二卡三卡国产欧美| 不卡的电影网站| 国内精品国产成人国产三级粉色| 亚洲免费观看在线观看| 国产欧美精品一区二区色综合| 欧美疯狂做受xxxx富婆| 日本高清不卡一区| 成人av电影在线观看| 激情丁香综合五月| 蜜臀va亚洲va欧美va天堂 | 在线视频亚洲一区| 岛国一区二区在线观看| 国产在线精品一区二区三区不卡 | 精品sm在线观看| 欧美日本一道本在线视频| 一本一道综合狠狠老| 成人亚洲一区二区一| 国产一区二区电影| 激情图片小说一区| 麻豆精品视频在线观看视频| 亚洲一区二区三区四区在线免费观看 | 日韩毛片精品高清免费| 中文字幕一区二区三区在线观看| 久久亚洲欧美国产精品乐播| 日韩亚洲欧美在线观看| 欧美一区二区三区免费大片| 欧美日韩精品福利| 欧美久久久久免费| 欧美夫妻性生活| 91精品免费观看| 欧美一级搡bbbb搡bbbb| 欧美一级夜夜爽| 精品免费99久久| 精品日本一线二线三线不卡| 欧美mv日韩mv| 久久精品夜色噜噜亚洲aⅴ| 秋霞成人午夜伦在线观看| 日本中文在线一区| 另类中文字幕网| 黄网站免费久久| 懂色av一区二区三区免费观看| 国产成人在线视频免费播放| 床上的激情91.| 99久久综合国产精品| 色婷婷激情综合| 欧美日本国产视频| 精品国产乱码久久久久久老虎| 久久嫩草精品久久久久| 中文字幕在线观看一区| 亚洲黄色录像片| 日韩精品国产精品| 国产一区二区不卡在线| 91蜜桃在线观看| 欧美日韩高清一区二区三区| 欧美成人精品福利| 国产精品卡一卡二| 午夜一区二区三区视频| 看片网站欧美日韩| 粉嫩一区二区三区在线看| 91福利精品视频| 欧美一区二区成人6969| 国产视频一区二区在线观看| 亚洲日韩欧美一区二区在线| 天天av天天翘天天综合网色鬼国产| 免费成人在线观看| 国产成人福利片| 精品视频一区二区不卡| 久久这里只有精品6| 亚洲精品视频观看| 精品在线一区二区三区| 91蝌蚪porny成人天涯| 欧美一级二级三级乱码| 中文字幕在线视频一区| 91免费观看在线| 日韩精品一区二区三区四区视频| 国产精品色在线| 日韩精品电影一区亚洲| 国产69精品久久777的优势| 欧美日韩国产高清一区二区| 中文av一区特黄| 免费不卡在线观看| 日本韩国精品一区二区在线观看| 精品99久久久久久| 亚洲高清免费在线| 91视频观看视频| 久久综合狠狠综合| 日韩中文字幕亚洲一区二区va在线| 成人网页在线观看| 日韩午夜电影在线观看| 一区二区三区高清不卡| 国产成人欧美日韩在线电影| 欧美一区二区在线免费播放| 椎名由奈av一区二区三区| 国产寡妇亲子伦一区二区| 欧美特级限制片免费在线观看| 中国色在线观看另类| 久久精品二区亚洲w码| 欧美日本一区二区在线观看| 亚洲男人天堂一区| 成人av免费在线| 国产亚洲精品免费| 老司机免费视频一区二区| 欧美日韩一区三区| 亚洲综合男人的天堂| 色婷婷亚洲精品| 中文字幕五月欧美| 粉嫩绯色av一区二区在线观看 | 久久免费精品国产久精品久久久久| 日韩精品一二区| 欧美日韩一级视频| 亚洲福利视频一区| 欧美日韩黄色一区二区| 亚洲va欧美va人人爽| 欧美性猛交xxxxxx富婆| 亚洲综合色噜噜狠狠| 欧美在线一区二区| 亚洲地区一二三色| 欧美三级中文字幕在线观看| 亚洲一区二区欧美| 亚洲欧洲日产国产综合网| 成人性生交大片免费看在线播放| 久久综合久久99| 国产成人精品三级| 亚洲国产精品激情在线观看| 国产成a人亚洲精品| 国产精品嫩草99a| 99国产精品一区| 亚洲黄色免费电影| 欧美精品在线一区二区三区| 日韩极品在线观看| 日韩欧美高清dvd碟片| 久草这里只有精品视频| 亚洲精品一区二区三区福利| 国产精品一级片| 欧美国产精品久久| 色婷婷综合久色| 日韩精品电影在线观看| 久久―日本道色综合久久| 国产高清不卡一区| ㊣最新国产の精品bt伙计久久| 99re热视频精品| 香蕉影视欧美成人| 精品福利一区二区三区免费视频| 国产麻豆精品久久一二三| 亚洲视频在线一区观看| 欧美日韩在线播放三区| 久久99热这里只有精品| 亚洲国产高清在线观看视频| 在线观看日韩毛片| 九九**精品视频免费播放| 中文字幕一区二| 337p亚洲精品色噜噜噜| 国产一区二区三区不卡在线观看|