用VC++.net製作WinForm Application (轉)
用VC++製作WinFoApplication:namespace prefix = o ns = "urn:schemas--com::office" />
新的.NET 出世了,隨之而來的是新的開發方法,開發理念。這本無可厚非的,但似乎總是偏愛她的嫡傳(VB,V), Framework似乎也是為他們量身定做的。唯獨大眾化的C++被冷落了(雖然MFC也進化到了7.0,對標準C++支援也比以前強了),先進的RAD開發始終遠離VC++(也許是MFC太成熟了,改起來不方便^_^),不過微軟為了讓VC++也沐浴點.NET的光澤,推出了MC++(Managed Extensions for C++.),C++
員眼光一亮,這回我們也可以追隨.NET了(雖然依然不能像VB,VC#程式設計師那樣用滑鼠
指指點點就可以完成一個程式)。Microsoft .NET Framework Class Library .NET 框架類庫
用慣了MFC和,冷不丁的轉向. NET Framework可能還有些不習慣,不過用時間長了,你會發現. NET Framework也不錯麼(^_^)。其實我們還是在用”MFC”,只不過這次是 “MFC……Microsoft .NET Framework Class Library, 微軟.NET 框架類庫”。(^_^)
下面我用一個例子來談談我的體會我將用MC++製作一個 Application,WinForm
是.NET的標準GUI介面,功能十分之強大。下面我們就來看看用MC++如何製作一個簡單的
Hello,World!程式。
由於文章篇幅有限,MC++的特性我在這裡就不詳細介紹了,我將在製作過程中稍加解釋。下面就開始了:
在VS.NET中,建立一個VC++新專案,我們把她取名為VCWinFormApp,當然它是個
託管的C++應用程式型別了。之後點選“確定”。等待吧!(我的賽揚366正在接受著VS.NET的考驗)一袋煙的功夫,該建立的都已經建立好了。看看吧,有什麼東西,哇,只有
VCWinFormApp.cpp一個主要檔案(我們經常認為是.h,..cpp比較重要),stdafx.h和stdafx.cpp
檔案裡什麼也麼有。(想一想原來MFC為我們在stdafx.h中新增了那麼多東東)。不過不要怕,.NET Framework就是這樣,她會讓你變懶的(需要你新增的程式碼很少)。在看看VCWinFormApp.cpp吧。
//////////////////////////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#using
#include
using namespace System;
// 這是此應用程式的入口點
int _tmain(void)
{
// TODO: 請用您自己的程式碼替換下面的示例程式碼。
Console::WriteLine(S"Hello World");
return 0;
}
//////////////////////////////////////////////////////////////
#using
using namespace System;
兩句我們以前未見過的語句,這裡簡單解釋一下, system 是.NET Framework的最基礎的名稱空間。
System 名稱空間包含基本類和基類,這些類定義常用的值和引用資料型別、事件和事件處理程式、介面、屬性和異常處理。
mscorlib.dll是專為MC++定製的dll檔案,她為.NET Framework接納C++鋪平了道路。
上面的程式僅僅是一個console程式而不是我們要做的WinForm Application,下面的程式碼會將她改寫成一個
WinForm Application。
預備知識:
The #using Directive-------用來將一些MC++使用的metadata(後設資料)匯入程式。如
#using
// 這是使用應用程式嚮導生成的 VC++
// 應用程式專案的主專案檔案。
// This is the main project file for VC++ application project
// generated using an Application Wizard.
#include "stdafx.h"
#using
#include
#using
#using
#using
#using
using namespace System;
using namespace System::Drawing;
using namespace System::Collections;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;
using namespace System::Data;
namespace myspace
{
public __gc class Form1 : public System::Windows::Forms::Form
{
private:
Button* button1;
Label* label1;
System::ComponentModel::Container* components;
public:
Form1()
{
//
// Required for Windows Form Designer support
//
components = NULL;
InitializeComponent();
//
// TODO: Add any constructor code after
// InitializeComponent call
//
}
protected:
void Dispose( bool disposing )
{
if( disposing )
{
if (components != NULL)
{
components->Dispose();
}
}
Form::Dispose( disposing );
}
private:
void InitializeComponent()
{
button1 = new Button();
label1 = new Label();
SuspendLayout();
//
// button1
//
button1->Location = Point(23, 96);
button1->Size=System::Drawing::Size(100,60);
button1->Name = "button1";
button1->TabIndex = 0;
button1->Text = "Start my first C++ WinForm Application";
button1->Click += new System::EventHandler(this,
&Form1::button1_Click);
//
// label1
//
label1->Location = Point(150, 84);
label1->Name = "label1";
label1->TabIndex = 1;
//
// Form1
//
AutoScaleBaseSize = System::Drawing::Size(5, 13);
ClientSize = System::Drawing::Size(292, 273);
Controls->Add(label1);
Controls->Add(button1);
Name = "Form1";
Text = "Form1";
ResumeLayout(false);
}
private:
void button1_Click(* sender, System::EventArgs* e)
{
label1->Text = "Hello World!";
}
};
}
// This is the entry point for this application
int __stdcall WinMain()
{
Application::Run(new myspace::Form1());
return 0;
}
我相信上面的程式大多數C++程式設計師都應該能看懂的(尤其是熟悉MFC,ATL的程式設計師)所以我也不必多說。
有關VC++製作.NET程式的資料可以到和去看看。
本文例子參考了” Building a .NET Windows Forms App in Visual C++ .NET “,
作者:Kate Gregory
2002.10.4
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1008667/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- WINFORM自定義皮膚製作(上)ORM
- C#winform製作學生列表C#ORM
- C#-用Winform製作一個簡單的密碼管理工具C#ORM密碼
- 用GameAPI函式製作二維動作遊戲(轉)GAMAPI函式遊戲
- 用VB製作螢幕保護程式 (轉)
- 採用多執行緒製作動畫(轉)執行緒動畫
- VC++.NET的暫存器al的Bug (轉)C++
- 自己的IE——用VB製作瀏覽器 (轉)瀏覽器
- 用VB製作即時動態按鈕 (轉)
- 用Delphi製作個性化的選單 (轉)
- 用DELPHI製作線上程式升級資訊查詢 (轉)
- 在Unix系統下用shell製作通用介面(轉)
- 用PowerBuilder製作指示燈UI
- 用photoshop製作logoGo
- 製作軟盤Linux(轉)Linux
- 遊戲製作之我見:) (轉)遊戲
- vc++.net 的安裝心得C++
- 用CSS來製作圖示CSS
- 用 Laravel 簡單製作 SitemapLaravel
- 用Agent+ASP技術製作語音聊天室 (轉)
- 用VC++ 6.0製作網路自動測試程式 (轉)C++
- Linux下應用程式開發:使用QT製作Skin(轉)LinuxQT
- 輕鬆製作PDF檔案(轉)
- 遊戲設計製作中對鎖定設定的應用(轉)遊戲設計
- 學會用程式碼製作愛心!
- 用CSS製作的圓角層CSS
- 用CSS製作隱藏選單CSS
- C# WinForm 繪製圓角窗體C#ORM
- Windows XP 映像檔案製作指南(轉)Windows
- linux啟動盤的製作(轉)Linux
- 簡易rpm套件的製作(轉)套件
- 精通RPM之--製作篇(中)(轉)
- BabyLinux製作過程詳解(轉)Linux
- 網站製作的基本原則 (轉)網站
- 自己編寫安裝製作程式 (轉)
- 使用BCB製作控制面版程式 (轉)
- Linux發行版製作指南(轉)Linux
- 用css3製作旋轉載入動畫的幾種方法薦CSSS3動畫