Visual Studio C++速成版教程Word文档格式.docx

上传人:b****5 文档编号:15778198 上传时间:2022-11-16 格式:DOCX 页数:56 大小:3.10MB
下载 相关 举报
Visual Studio C++速成版教程Word文档格式.docx_第1页
第1页 / 共56页
Visual Studio C++速成版教程Word文档格式.docx_第2页
第2页 / 共56页
Visual Studio C++速成版教程Word文档格式.docx_第3页
第3页 / 共56页
Visual Studio C++速成版教程Word文档格式.docx_第4页
第4页 / 共56页
Visual Studio C++速成版教程Word文档格式.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

Visual Studio C++速成版教程Word文档格式.docx

《Visual Studio C++速成版教程Word文档格式.docx》由会员分享,可在线阅读,更多相关《Visual Studio C++速成版教程Word文档格式.docx(56页珍藏版)》请在冰豆网上搜索。

Visual Studio C++速成版教程Word文档格式.docx

编写代码以处理事件43

生成并运行程序44

创建VisualC++源文件并在命令行上对其进行编译44

编译使用.NET类的VisualC++程序45

在命令行上编译VisualC++.NET控制台应用程序45

使用CLR构建程序46

特别注意:

数据类型的转换47

数字转变成为字符串47

字符串转变为整形变量47

首先,感谢微软公司提供免费的VisualStudioC++Express中文版。

相关资源:

运行软件MicrosoftVisualC++ExpressEdtion

MicrosoftVisualC++ExpressEdtion界面

 

创建windows程序之带菜单的窗体

新建项目

选择Win32Win32项目

名称:

test1

位置:

G:

\test\Project1

解决方案test1

单击下一步

单击完成

进入的界面如下:

生成文件亦如下图所示:

头文件:

Resource.hstdafx.htargetver.htest1.h

源文件:

stdafx.cpptest1.cpp

资源文件:

small.icotest1.icotest1.rc

ReadMe.txt

(上述文件名:

test1与解决方案名相同)

重新生成解决方案,或者通过快捷键完成(Ctrl+Alt+F7)

如下图所示,表示编译没有出现错误。

开始执行程序(或者通过快捷键Ctrl+F5)

运行如下:

单击帮助—关于

弹出窗口如下。

单击文件—退出(退出执行的程序)

同时,您也可以通过在G:

\test\Project1\test1\Debug下运行。

双击test1.exe执行生成的程序。

下面做的是如何对程序做简单的修改,甚至是颠覆性的修改!

循序而渐进!

可以通过双击头文件(.h为后缀),源文件(.cpp为后缀),ReadMe.txt文件进行相应的修改工作,如何修改下面章节进行论述。

当您逐项进行双击后,可以看到文件的内容,如下所示,您可以切换不同的文件进行相应的编辑修改工作。

如果,您对代码修改不在行,甚至一无所知,请不要做任何修改,下面章节中将有详细的阐述。

对于资源文件(.ico后缀,.rc后缀),却是不同的。

双击.ico后缀的文件,会调用画图板打开该文件(实际是一个图),但是,用画图板打开后,修改是不能进行保存的,所以这里暂时不做任何改动。

当您双击.rc后缀的文件时,您会发现,速成版并不支持资源的编辑。

下图是,双击test1.rc后,出现的视图。

不过可以通过右键菜单的查看代码,对test1.rc进行编辑。

现在从文件的角度,看一下,通过上述这样的步骤,VisualStudioC++2008Express为我们生成了一些什么文件。

如上,我们已经设计了一个程序,不过代码是系统所生成的,我们只是轻点了几下鼠标而已。

究竟,生成的过程,我们不做深究,权且当作一个黑箱。

不关注他的执行过程,也不关注生成了什么文件或者代码。

下图是运行test1.exe产生的界面:

简要分析一下其特征:

标题:

菜单:

文件,帮助

“文件”下有“退出”

“帮助”下有“关于”

如何对上述的特征进行修改或者增减呢?

比如:

把“文件”修改为“编辑”,

在“退出”前增加“打开对话框”,

增加一个新的菜单“窗口”

进行,这些修改,必须了解,这些特征与文件代码的对应关系。

打开test1.rc(通过右键,查看代码的方式实现),如下图所示。

由于速成班不支持资源文件的编辑,这里对资源文件分析一二

我们看到,

//菜单

//

IDC_TEST1MENU

BEGIN

POPUP"

文件(&

F)"

BEGIN

MENUITEM"

退出(&

X)"

IDM_EXIT

END

帮助(&

H)"

关于(&

A)..."

IDM_ABOUT

END

初步判断,"

就是窗口中的菜单中所示的文件。

修改一个项目

我们改"

为"

文件修改(&

保存(单击全部保存)—》生成解决方案(Ctrl+Alt+F7)开始执行(Ctrl+F5)

单击全部保存。

生成解决方案(Ctrl+Alt+F7)

开始执行(Ctrl+F5)

进行跟踪验证

执行结果,与我们所期望的是一致的!

观察test1.rc中的代码段:

MENUITEM"

新增1(&

IDM_EXIT/*这行,是我们新增加的*/

新增菜单(&

/*这行,是我们新增加的*/

BEGIN/*这行,是我们新增加的*/

IDM_ABOUT/*这行,是我们新增加的*/

END/*这行,是我们新增加的*/

大胆的增加菜单的项目

进行如上更改后,编译并运行后,果然在输出结果上增加了一个菜单项。

通过上面的修改,举一反三,可以建造复杂的菜单系统了。

可是,单击,这些菜单选项,程序不会完成任何操作,除了,“退出”“关于”能够完成退出操作和打开一个对话框的操作除外。

下面,我们关注一下,如何通过菜单来触发程序的执行?

首先,关注一下“关于”,因为单击它,可以弹出一个对话框?

比退出更有挑战性一些!

IDM_ABOUT是什么?

他和弹出对话框有什么关系呢?

我们选择IDM_ABOUT,右键,转到声明。

系统自动转到Resource.h中对IDM_ABOUT声明项。

#defineIDM_ABOUT104

选择IDM_ABOUT,右键,选择查找所有引用

双击查找符号结果的蓝色显示项即:

test1.cpp(148):

caseIDM_ABOUT:

双击后,显示出,IDM_ABOUT在test1.cpp中的位置。

IDM_ABOUT:

在test1.cpp中只有1次被检索出,所以该句后面的语句就是显示对话框的指令了。

//分析菜单选择:

switch(wmId)

{

caseIDM_ABOUT:

DialogBox(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),hWnd,About);

break;

caseIDM_EXIT:

IDM_ABOUT在Resource.h中被定义为104了,#defineIDM_ABOUT104

所以IDM_ABOUT即是104的一个代号,

//分析菜单选择:

case104:

程序中的IDM_ABOUT修改为104,编译和执行是没有区别的。

IDM_ABOUT只是一个便于记忆的符号变量,

同样,在test1.rc中的代码

新增(&

IDM_ABOUT/*IDM_ABOUT也可以写成104*/

当您单击某个菜单选项时,test1.rc中定义的值,与test1.cpp中的相同,即表示是相互关联的。

DialogBox(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),hWnd,About);

可根据语义环境或者英文原意,判断为打开对话框。

对话框是通过IDD_ABOUTBOX所标识的。

通过如上“转到定义”在Resource.h找到定义的语句,

通过“查找所有引用”也可以找出其在Resource.h和test1.cpp中出现的位置。

在test1.rc中,找到IDD_ABOUTBOX部分

IDD_ABOUTBOXDIALOGEX0,0,170,62

上面的数字表示的对话框的尺寸,可以尽心手动修改,以符合自己的需求。

数字依次表示:

左下角(水平,垂直),右上角(水平,垂直)

test1.cpp代码内容如下:

//test1.cpp:

定义应用程序的入口点。

#include"

stdafx.h"

test1.h"

#defineMAX_LOADSTRING100

//全局变量:

HINSTANCEhInst;

//当前实例

//关于HINSTANCE,在WinDef.h中定义为:

DECLARE_HANDLE(HINSTANCE);

//关于DECLARE_HANDLE(HINSTANCE),在WinNT.h中定义为:

#defineDECLARE_HANDLE(name)structname##__{intunused;

};

typedefstructname##__*name

typedefHINSTANCEHMODULE;

TCHARszTitle[MAX_LOADSTRING];

//标题栏文本

TCHARszWindowClass[M

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1