国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

Windows/VB編程逐月通

2019-11-18 17:44:08
字體:
供稿:網(wǎng)友
第一步、走進Windows,初窺VB

  編者按:以前總聽別人說VB、VC、VFP的編程方法和技巧,很想寫一篇關(guān)于可視化編程的整體性介紹文章,但是操作起來的時候卻遇到了問題,我不知道該用哪種編程語言來介紹,考慮再三,最后還是決定使用易學易用的VB,VB的各種優(yōu)點,我就不做過多的介紹了,我唯一想說明的是:希望大家能通過這樣的介紹學會Windows編程,而不是簡單VB編程,這就是標題為什么起名為Windows/VB編程逐月通的原因。

  有一點我要聲明,我們這里討論的是Windows編程,一切討論都以32位Windows平臺即Win32為基準。如果你剛從掛在MS-DOS下的TurboC爬出來的話,那么你有必要把腦子里裝的某些東西扔進垃圾堆,舊思想該改一改了。所以讓我們先從Windows程序的工作方式談起吧!
  不過全面地討論Windows的內(nèi)部工作機制將需要整整一本書的容量,而且這本書對于初學者來講還未必能看懂。因此現(xiàn)在還沒有必要深入了解所有的技術(shù)細節(jié),這些部分將隨著學習的深入而深入。Windows的工作機制,簡單地說就是三個關(guān)鍵的概念:窗口、事件和消息。
  什么是窗口,你千萬別告訴我是一個個的應(yīng)用程序窗口。在我們討論編程時窗口是帶有邊界的矩形區(qū)域。也許你已經(jīng)了解幾種不同類型的窗口:如,Windows95的“資源管理器”窗口、文字處理程序中的文檔窗口或者彈出提示有約會信息的對話框。除了這些最普通的窗口外,實際上還有許多其它類型的窗口。命令按鈕是一個窗口。圖標、文本框、選項按鈕和菜單條也都是窗口。正因為有了這么多的窗口Window的后邊才加上了一個s。
  “MicrosoftWindows操作系統(tǒng)通過給每一個窗口指定一個唯一的標識號(窗口句柄或hWnd)來管理所有的窗口。操作系統(tǒng)連續(xù)地監(jiān)視每一個窗口的活動或事件的信號。事件可以通過諸如單擊鼠標或按下按鍵的操作而產(chǎn)生,也可以通過程序的控制而產(chǎn)生,甚至可以由另一個窗口的操作而產(chǎn)生”。這是微軟公司對事件的定義。明白什么意思了嗎?好了,不打官腔了。說白了,事件就是你用標點標識了什么,敲了哪個鍵了,或者程序運行發(fā)生什么情況了。發(fā)生了一個事件,Windows操作系統(tǒng)就給相應(yīng)的應(yīng)用程序發(fā)出一條消息。這是由操作系統(tǒng)自動完成的。具體怎么做的,你管不了也管不著。
  我們要做的工作有很大一部分工作就是寫一些處理這些消息的函數(shù)。還記得怎么用TurboC、TurboPascal、QuickBasic寫一個菜單嗎?菜單用類似于PRint之類的函數(shù)或語句一點一點打出來,然后再執(zhí)行一個輸入,輸入的值往往是一個菜單選項,最后,根據(jù)這個輸入的值調(diào)整相應(yīng)的子程序。這個過程與我們所說的消息處理過程是類似的。所不同的是Windows的應(yīng)用程序隨時都可以接受消息,然后一條一條的處理。這里有一個很典型的例子:不知道大家注意到?jīng)]有,在光驅(qū)發(fā)生“死讀”的時候,系統(tǒng)會發(fā)生暫時的死機,用鼠標點什么都沒用。等盤讀過去了,剛才點的菜單都彈出來了,點的圖標也全開始運行了。Why?Because:在光驅(qū)發(fā)生“死讀”的時候,占用了很多的系統(tǒng)資源,所以看起來像死機一樣。假如此時,用鼠標點一個下拉菜單,系統(tǒng)會給處理下拉菜單的程序發(fā)一個消息,通知有鼠標在點它。但是,此時系統(tǒng)資源不足,菜單的處理程序無法運行。過了一會兒,光驅(qū)讀過去了,系統(tǒng)資源充足了,才開始進行消息處理運行下拉菜單的程序。所以,當死機時千萬別胡點,按一下alt ctrl delete,就按一下,等到彈出"關(guān)閉程序"對話框時,關(guān)閉掉那些被注上沒有響應(yīng)程序。這樣,能夠釋放一些系統(tǒng)資源給其他程序使用,從而保證其他程序能夠繼續(xù)運行。好像這一招在WindowsNT上比在Windows95/98上靈,不過有一點是肯定的,就是死機的時候不要慌。
  看到這里,先讓你的思想稍做整理,回想一下所說的Windows,然后準備跟著我去窺探VB。
  前面沒有看明白的話,你大可不必擔心今后的學習。相反,今后的學習會有助于對前面內(nèi)容的理解。
  好了,讓我們先忘記一切的煩惱,開始一個新的話題:MicrosoftVisualBasic。我想這個快捷開發(fā)的代名詞你一定聽說過。至于VB的集成開發(fā)環(huán)境我不想多作介紹。自己打開VB看一看,就知道菜單、工具欄和各式各樣的窗口都是什么樣子了。
  廢話少說,我們開始我們第一個Windows應(yīng)用程序——HellotheWorld。第一步,在VB里New出一個標準的EXE工程(StandardEXEProject)。那個點滿黑點的窗體就是未來你的應(yīng)用程序里的顯示的窗體。然后,在工具箱(一般在左手一邊)里點命令按鈕畫在窗口上。這個過程就像在Windows畫板里畫點東西似的。接下來,我們來設(shè)置窗口屬性。找到你的Properties窗口(一般在右下腳)。一定要確定當前顯示的是窗體Form1而不是命令按鈕Command1的屬性。否則,可以在屬性窗口上的下拉菜單上選一下。每選中一個屬性,都可以在這個小窗口下方看到屬性說明,這樣你就明白每個屬性都是來干什么的了。我們現(xiàn)在來試著修改一下窗體的Font(字體)屬性。這時,彈出了一個字體的對話框。然后,選擇你喜歡的字體、字號、樣式。最后雙擊你剛才畫上的那個按鈕,添加代碼。看到一個文本編輯器彈出了嗎?就在光標的位置寫上form1.print"HellotheWorld"。一般來講,敲完了form1.時會出現(xiàn)一個下拉菜單,那是一個提示菜單,告訴你后邊寫些什么,不過你不用管它,把剛才讓你敲的那句話敲完,就大功告成了。
  好了,現(xiàn)在你可以按播放鍵向全世界問好了。我們注意到程序的窗體就是我們剛才畫的那個窗體,這叫所見即所得。點一下命令按鈕,你可以看到HellotheWorld在窗體的左上角顯示出來,字體就是你剛才設(shè)置的那樣。
  在VB下開發(fā)應(yīng)用程序就是這么三步:設(shè)計界面、設(shè)置屬性、編寫代碼。《孫子兵法》里說:始計于廟堂之上。其實編程序和對外作戰(zhàn)是一樣的,先要有一個總的設(shè)計,然后再由粗到細的一步一步安排細節(jié)。設(shè)計界面,不一定是個美術(shù)問題;在你設(shè)計界面時,也把你程序的功能定制好了。接著,按照你程序功能的需要,設(shè)置你各個窗體上的控件和各個窗體自身的屬性。控件可以初步理解為放在工具箱里的東西,像命令按鈕、文本框、滾動條之類的東西。至于確切的定義我們以后再討論。
  HellotheWorld是一個典型而簡單的Windows應(yīng)用程序。我們可以結(jié)合前面的內(nèi)容看一看這個程序是如何運行的。在這個程序運行開始,就是帶有命令按鈕的一個窗體在等待一些事件的發(fā)生。用鼠標點命令按鈕,就激發(fā)了一個click事件,系統(tǒng)得知后立刻給相應(yīng)的應(yīng)用程序發(fā)一條消息;當應(yīng)用程序檢測到這條消息,就進入相應(yīng)的消息處理過程進行處理。所以我們要在PrivateSubCommand1_Click()中添加代碼。
  現(xiàn)在我們有必要了解一下VB的代碼編輯器。這是一個比較簡單的文本編輯器,所不同的是在編輯器的上方有并排有兩個下拉列表框。左邊是一些編程對象,右邊是左邊當前對象所能接受的消息。比如說左邊選command1,右邊選click,若Command1_Click存在,光標會自動移到Command_Click的處理函數(shù)中;若不存在,則生成一個Command1_Click的過程聲明。
  既然在這里提到了對象這個概念,我就沒有理由簡單說一說面向?qū)ο蟮某绦蛟O(shè)計。首先,我們要搞清什么是對象。“對象是類的一個實例。一個定義好的數(shù)據(jù)結(jié)構(gòu)再加上定義在其上的操作稱之為類。”N多本書都用這種晦澀的語言解釋什么是類,什么是對象。在VB里,類和對象的概念就很直觀了,就是在窗體上畫一個按鈕的動作,足以把這兩個概念解釋清楚。讓我們再細細品味一下這個過程:先點一下工具箱里的command圖標,然后在窗體上一拉,就在窗體上建立了一個叫command1的命令按鈕。我們剛才的編程,全是圍繞command1進行的。那么command1就是一個對象。它是由command生成的一個實例,command就是生成command1這個實例的類。Command的屬性正好是command的數(shù)據(jù)結(jié)構(gòu)。窗體也是一個類,名字叫form,程序里的form1是它的實例,print是定義在它上面的操作。其實,類、對象這些東西到是挺像“白馬論”中所說的。馬是一個類,白馬就是馬的一個實例,同樣還有黃馬、黑馬,所以說白馬非馬。
  哎呀,又胡扯了。第一步到此結(jié)束。以后的一段日子,我們將討論VB開發(fā)的一些方法和技巧,舉一些例程。讓你真正能做出一些較為實用的東西,至少它們可以成為一些大軟件某一部分的前體。->


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 昌乐县| 尤溪县| 金平| 大洼县| 文昌市| 驻马店市| 宝应县| 仙居县| 汨罗市| 营山县| 英吉沙县| 青浦区| 平南县| 嘉峪关市| 达州市| 洪洞县| 汉沽区| 裕民县| 遂溪县| 赣榆县| 怀化市| 长泰县| 周至县| 高密市| 合作市| 隆化县| 延津县| 自治县| 辉县市| 龙陵县| 华蓥市| 孝感市| 成武县| 全南县| 上蔡县| 青浦区| 青浦区| 台安县| 驻马店市| 菏泽市| 盱眙县|