65.9K
CodeProject 正在变化。 阅读更多。
Home

在 Visual C++ .NET 中创建您的第一个项目

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.11/5 (9投票s)

2005 年 8 月 15 日

CPOL

6分钟阅读

viewsIcon

51996

downloadIcon

2

如何在 .NET 环境中创建您的第一个项目,特别是使用 VC++...?

引言

在本文中,我将演示如何使用 Visual Studio .NET 创建一个简单的基于对话框的应用程序,并通过此过程我们将了解类向导在哪里,以及如何向新对话框添加类,并通过创建其类的实例来调用该对话框并调用或调用其成员函数

创建新项目

在 Visual Studio .NET 中,创建新项目的过程与 Visual C++ 6 类似,但在环境或界面本身存在一些差异;要在 .NET 中创建新的 vc++ 项目,请执行以下步骤

  • 从“程序”菜单打开 Visual Studio .NET。
  • 选择“文件”|“新建”|“项目”,将显示“新建项目”对话框(图 1),指定项目类型为 Visual C++,使用的模板为 MFC 应用程序,并输入项目名称并指定保存项目文件的目录。

  • 单击“确定”后,将显示 MFC 应用程序向导(图 2),从“应用程序类型”部分指定应用程序类型为“基于对话框”,然后单击“完成”。

Sample screenshot Sample screenshot

图 (1) 图 (2)

现在,MFC 应用程序向导已经为您创建了一个新应用程序或项目,并以设计模式打开了开发环境,其中包括一个对话框,因此您现在可以对对话框进行所需的更改,编译并运行您的项目以查看您的更改是否实际完成

设计和源代码

将对话框设计成如下所示,并将名字编辑框的 ID 设置为“IDC_FIRST”,将姓氏编辑框的 ID 设置为“IDC_LAST

这里的目的是允许用户在编辑框中输入他或她的名字和姓氏,当点击“Go”按钮时,将向用户显示另一个对话框,并向他或她显示欢迎消息。

Sample screenshot

图 (3)

要添加新对话框,请在资源视图的对话框部分右键单击并从弹出菜单中选择“插入对话框”(图 5),将出现一个带有“确定”和“取消”按钮的新对话框,将其添加到设计视图中,删除“取消”按钮并保留“确定”按钮;将新对话框设计成如图 (4) 所示

注意:添加静态框后,右键单击它,选择“属性”(Alt + F4),并将其 ID 更改为任何内容,例如 IDC_STATIC1 (图 6)

Sample screenshot Sample screenshot Sample screenshot

图 (4) 图 (5) 图 (6)

在 .NET 中向对话框添加新类

保持新添加的对话框在设计视图中打开,当这个新对话框打开时,从“项目”菜单中选择“添加类…”,输入类名“Say CDialog1”,并指定基类为“CDialog”,最后单击“完成”

请注意,类名有一个约定,即类名将以字母“C”开头,后跟类的实际名称,因此在输入类名时,

Sample screenshot

图 (7)

为控件添加变量

在 Visual C++ 6 中,您可以使用类向导将变量添加到控件或附加到控件,但 .NET 中的类向导已更改,或者您可以说它已分解为分布在环境菜单中的向导。在 .NET 中,您只需右键单击要附加变量的控件并选择“添加变量…”,即可简单地添加变量,将显示如下图所示的界面(图 8)

Sample screenshot

图 (8)

在“添加成员变量向导”中,您可以在“变量名称”中指定变量的名称,并且可以指定访问类型列表为(私有、公共或受保护),您还可以指定“变量类型”为(CButtonCListBoxCEdit…等)

请注意,如果添加或附加变量到控件,您将看到类别和控件 ID 组合框已启用。

Notice

  • 当添加控件类型的变量时,在类别组合框中指定类型“Control”(例如 CButton、CEdit、CListBox、CComboBox…等)

  • 当添加可能存储有值的变量时,将类别指定为“Value”类型(例如 CString、int、BOOL、Float…等)

应添加的变量

现在资源视图中有两个对话框,第一个如图 (3) 所示,第二个如图 (4) 所示

从上一节中,您可以将变量附加到控件,因此将以下变量添加到其 ID 指定的控件中

第一个对话框(图 3)

ID

变量名

变量类型

访问

IDC_FIRST

m_StrFisrt

CString

Public

IDC_LAST

m_StrLast

CString

Public

第二个对话框(图 4)

IDC_STATIC1

m_StrWelcome

CString

Public

为控件添加事件

在了解如何添加事件之前,我们首先应该了解什么是事件,以及事件处理函数意味着什么或做什么……?

事件是用户执行的操作,例如点击特定按钮的事件,以及鼠标单击一次或双击的事件,还有更改列表或组合框控件中选择的事件,以及更改鼠标位置的事件……Microsoft 添加了许多用户可以触发的事件……

当事件发生时,事件本身就是动作,必须有一个处理函数来处理这些事件,以便在事件发生时调用。例如,当用户双击鼠标时,将调用或执行一个特定的函数,该函数被称为该事件的处理函数。

当事件发生时,我们称之为事件触发,当事件触发时,其处理函数将被调用或执行……

要向特定控件添加事件,请右键单击它并选择其“属性”(Alt + Enter),然后从属性窗口中单击窗口上方显示的事件图标(参见图 9-a)

Sample screenshot Sample screenshot

图 (9-a) 图 (9-b)

要为特定事件添加事件处理函数,只需单击事件名称旁边的箭头,然后选择“<添加>….”。请参见(图 9-b),它显示了如何添加名为 KILL_FOCUS 的事件…

请注意,要向按钮添加 BN_CLICKED 事件,只需在设计视图中双击按钮即可完成。还要记住,BN_CLICKED 是当用户单击按钮时发生或触发的事件。

为“Go”按钮的 BN_CLICKED 事件添加一个事件处理函数;如我所说,通过双击按钮或从属性窗口…,然后在主窗口图 (3) 中的“Go”按钮中编写以下代码

 
void CDialogsDlg::OnMbClickedButton1()
{
      CDialog1 dlg;

      UpdateData(TRUE);
      dlg.str_first=m_StrFirst;
      dlg.str_last=m_StrLast;
      dlg.DoModal();

}

在第二个窗口或对话框图 (4) 中为“Back”按钮添加的 BN_CLICKED 事件处理函数中添加以下代码行

 
void Dialog1::OnBnClickedButton1()
{
     CDialogsDlg dlg;
     dlg.m_StrFirst=str_first;
     dlg.m_StrLast=str_last;
     this->EndDialog(0);
     dlg.DoModal();


}
      

请注意,代码中可能有一些奇怪的地方,即变量 str_firststr_last,它们都在第二个对话框(图 4)的类中声明为“CString”类型。

这里有两个函数值得讨论,它们是 DoModal()EndDialog()。简而言之,EndDialog() 函数用于关闭窗口并将其从系统中销毁,而 DoModal() 函数在这里仅用于调用和显示对话框。

编译与运行

您可以通过“生成”|“编译”或按快捷键 (Ctrl + F7) 来编译您的应用程序,编译成功后,您现在可以通过选择“调试”|“开始运行”或执行项目并运行调试器来运行您的应用程序,调试器可以帮助您检测错误和异常(如果存在),或者只需按 (Ctrl + F5) 即可直接运行应用程序而不使用调试器。

阅读本文后,请在下方评分….

© . All rights reserved.