a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 開發設計 > 正文

Windows/VB編程逐月通

2019-11-18 17:44:08
字體:
來源:轉載
供稿:網友
第一步、走進Windows,初窺VB

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久亚洲精品中文字幕蜜潮电影 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 欧美一级毛片久久99精品蜜桃 | 蜜桃久久av | 国外成人在线视频网站 | 国产一区二 | 成人在线观看免费视频 | 久草福利在线视频 | 日韩欧美在线播放视频 | 久久精品久久久 | av网址在线播放 | 国产精品久久 | 久久99一区二区 | 久久伦理电影 | 色呦呦日韩 | 日日操视频| 国产视频精品视频 | 成人超碰在线 | 日韩1区| 亚洲精品国偷拍自产在线观看蜜桃 | 欧美日韩成人在线 | 91成人精品视频 | 亚洲成人中文字幕 | 亚洲欧美日韩另类一区二区 | 亚洲国产二区三区 | 欧美一区二区三区免费电影 | 国产一区二区三区久久久 | 日韩精品在线一区 | 国产精品夜色一区二区三区 | 五月香婷婷| 久久久久亚洲精品 | 久久久久久一区 | 黄色一级片视频 | 精品 99 | 欧美在线播放一区 | 91亚洲视频| 精品国产乱码久久久久夜 | 久久久夜夜夜 | 国产精品毛片一区二区三区 | 欧美一级成人欧美性视频播放 | 天天插天天操 |