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






2.11/5 (9投票s)
如何在 .NET 环境中创建您的第一个项目,特别是使用 VC++...?
引言
在本文中,我将演示如何使用 Visual Studio .NET 创建一个简单的基于对话框的应用程序,并通过此过程我们将了解类向导在哪里,以及如何向新对话框添加类,并通过创建其类的实例来调用该对话框并调用或调用其成员函数
创建新项目
在 Visual Studio .NET 中,创建新项目的过程与 Visual C++ 6 类似,但在环境或界面本身存在一些差异;要在 .NET 中创建新的 vc++ 项目,请执行以下步骤
- 从“程序”菜单打开 Visual Studio .NET。
-
选择“文件”|“新建”|“项目”,将显示“新建项目”对话框(图 1),指定项目类型为 Visual C++,使用的模板为 MFC 应用程序,并输入项目名称并指定保存项目文件的目录。
-
单击“确定”后,将显示 MFC 应用程序向导(图 2),从“应用程序类型”部分指定应用程序类型为“基于对话框”,然后单击“完成”。
图 (1) 图 (2)
现在,MFC 应用程序向导已经为您创建了一个新应用程序或项目,并以设计模式打开了开发环境,其中包括一个对话框,因此您现在可以对对话框进行所需的更改,编译并运行您的项目以查看您的更改是否实际完成
设计和源代码
将对话框设计成如下所示,并将名字编辑框的 ID 设置为“IDC_FIRST
”,将姓氏编辑框的 ID 设置为“IDC_LAST
”
这里的目的是允许用户在编辑框中输入他或她的名字和姓氏,当点击“Go”按钮时,将向用户显示另一个对话框,并向他或她显示欢迎消息。
图 (3)
要添加新对话框,请在资源视图的对话框部分右键单击并从弹出菜单中选择“插入对话框”(图 5),将出现一个带有“确定”和“取消”按钮的新对话框,将其添加到设计视图中,删除“取消”按钮并保留“确定”按钮;将新对话框设计成如图 (4) 所示
注意:添加静态框后,右键单击它,选择“属性”(Alt + F4),并将其 ID 更改为任何内容,例如 IDC_STATIC1
(图 6)
图 (4) 图 (5) 图 (6)
在 .NET 中向对话框添加新类
保持新添加的对话框在设计视图中打开,当这个新对话框打开时,从“项目”菜单中选择“添加类…”,输入类名“Say CDialog1”,并指定基类为“CDialog”,最后单击“完成”
请注意,类名有一个约定,即类名将以字母“C”开头,后跟类的实际名称,因此在输入类名时,
图 (7)
为控件添加变量
在 Visual C++ 6 中,您可以使用类向导将变量添加到控件或附加到控件,但 .NET 中的类向导已更改,或者您可以说它已分解为分布在环境菜单中的向导。在 .NET 中,您只需右键单击要附加变量的控件并选择“添加变量…”,即可简单地添加变量,将显示如下图所示的界面(图 8)
图 (8)
在“添加成员变量向导”中,您可以在“变量名称”中指定变量的名称,并且可以指定访问类型列表为(私有、公共或受保护),您还可以指定“变量类型”为(CButton
、CListBox
、CEdit
…等)
请注意,如果添加或附加变量到控件,您将看到类别和控件 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)
图 (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_first
和 str_last
,它们都在第二个对话框(图 4)的类中声明为“CString”类型。
这里有两个函数值得讨论,它们是 DoModal()
和 EndDialog()
。简而言之,EndDialog()
函数用于关闭窗口并将其从系统中销毁,而 DoModal()
函数在这里仅用于调用和显示对话框。
编译与运行
您可以通过“生成”|“编译”或按快捷键 (Ctrl + F7) 来编译您的应用程序,编译成功后,您现在可以通过选择“调试”|“开始运行”或执行项目并运行调试器来运行您的应用程序,调试器可以帮助您检测错误和异常(如果存在),或者只需按 (Ctrl + F5) 即可直接运行应用程序而不使用调试器。
阅读本文后,请在下方评分….