VC++.NET中使用Windows.Forms

來源:互聯網
上載者:User

熟悉Virsual Basic開發方式的朋友們在使用Visual C++時,一定發過這樣的牢騷:“為什麼不能自己設計表單,為什麼不能手動畫控制項?這能叫Visual(可視化)嗎?你看人家Borland C++…… ”的確,製作一個控制項豐富的主表單在以往是件比較繁重的工作,不過這樣的境況,在 Visual Studio.NET 中已經有所改善了。在本文中,筆者就將和大家一起領略一下期望中的輕鬆和愉快。

  還記得過去用VC++建立一個表單的過程麼,它意味著相對不少的代碼描述一個表單類(或應用程式類)的對象,每個屬性的設定都要對應著一行指派陳述式。如果是用Windows API,需要自己書寫主事件迴圈。至於表徵圖、位元影像什麼的還要作為資源去調用。想添加控制項就比較麻煩了。首先,你要有一本MFC大全,照著它來添加各種控制項類的執行個體,截取它用到的各種Windows訊息……這些也就是對於VC++製作視窗程序,筆者沒學下去的原因。

  這兩天鼓搗VC++.NET,才發現原來這裡的VC++也可以使用視窗編輯器。筆者這就帶著大家一起用它來建立一個視窗。我們還是從經典的“Hello,World”開始。

  我們應該建立一個Windows Form Application(.NET)(Windows視窗應用程式)類型的工程。這裡將它命名為HelloWorld。



  單擊“OK”確定,我們看到.NET為我們自動建立了一個主表單Form1。可以看到左面的檔案清單裡,仍然是傳統的源檔案、標頭檔和資源,稍有一點變化的就是該Form1的標頭檔,筆者稍候會詳細說明,其實我們以往要做的工作都被封裝在這個標頭檔裡。呈現在我們面前的已不再是VC++傳統的代碼編輯介面,而是一個視窗編輯介面。



  讀者的開發環境如果使用的是Visual C++6.0的介面風格的話,還看不到最重要的控制列(ToolBox),要在功能表項目“視圖(View)-〉工具箱(ToolBox)”中把它點開。我們看到了令人興奮的一個個控制項,你可以隨意在上面畫畫控制項爽幾下,然後我們繼續。托拽出一個Button和一個Label,我想這對你來說都應該不陌生。按右鍵它們的任何一個,選擇菜單的最後一項Properties把屬性列表叫出來(應該就出現在檔案清單的下面),你可以編輯它們的屬性,再也不必去寫語句了。試著給咱們的程式換個表徵圖,不用再麻煩地調用資源了,很容易了不是?



  保持良好的命名習慣,我將它倆命名為btnSay和lblShow。開始添加代碼了,雙擊btnSay,進入代碼介面,游標會自動跳轉至按鈕單擊事件處,其他的東西可以一概不管,只需要在這裡添加上代碼

this->lblShow->Text = "Hello,the World!";

  我想該做得也就這麼多了(有點像VB了不是?)畢竟是C++,得編譯。按Ctrl+F5編譯連結運行,結果如圖:



  真正的C++程式員這時會思考代碼是怎樣被組織封裝的。我們先來看看檔案的組織形式。這裡依然是使用資源的形式來用表徵圖、菜單什麼的,因此這裡有同以往一樣的*.rc和resource.h。工程的主體是Form1.h/cpp檔案對,主程式也在裡面。不過主程式似乎是一空殼,真正的表單對象資訊都在Form1.h裡。它現在給我們呈現出一副視覺化設計工具的姿態,我們右鍵點擊它,在彈出的對話方塊中選擇第二項



  終於揭開了它的神秘面紗,看到了隱藏在背後的代碼。(有點故弄玄虛了,其實剛才你編寫代碼時就已經見到它了。這令我也很詫異,標頭檔裡居然會有執行代碼!)還有一點要說的,剛才你是不是找不到在那兒修改Form1對象的名字?在代碼介面的屬性列表裡就能改了。我把它改稱frmMain。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.