体验Code::Blocks下的Windows GUI编程(32 bit and 64 bit)

0. 前言

不知道为何,几乎全部的C++编程教程都是从命令行版(控制台应用程序)的Hello World开始的。然而,对于如今的年轻人来讲,从小就用鼠标点击窗口或图标操做电脑,对于那个神秘黑色的窗口中的文字就像天书。对于咱们这些从DOS时代走来的人,或许那个黑色窗口会唤起不少记忆,可是,对于当前的GUI化的时代来讲,那个窗口已经没有多少意义了。除非为了显示个人知识渊博和高深莫测,一般我不会给年轻人讲述那个黑色窗口中的东西。html

既然如今学习C++编程的都是年轻人,我仍是讲一下怎样构建GUI版的Hello World吧。编程

若是你尚未搭建Code::Blocks平台,请先看一下个人另外一篇文章:《利用Code::Blocks搭建64位C++开发平台》。windows

下面我要讲述的内容包括:在Code::Blocks中用C++编写一个Windows GUI程序,并编译生成32 bit 和64 bit两个版本。服务器

1.使用向导新建一个Windows GUI程序

建立Windows GUI程序和建立Console application的操做几乎是相同的,因此在看如下步骤以前,先看一下个人另外一篇文章《体验Code::Blocks下的C++编程》。app

在下面的描述中,只要与建立控制台程序相同的操做我将简述或省略。这样作不只仅是为了节省我时间,也是为了给服务器节省一点空间。工具

第一步:打开新建项目向导学习

这一步跟建立控制台程序是相同的,后续就有差异了。有两种方法:ui

①主菜单:File->New->Projectsspa

②点击Start Here页面中的Create New Project操作系统

第二步:在向导中选择项目类型Win32 GUI project

第三步:选择窗口类型,点击Next

提供两种窗口类型,具体意义之后解释,如今随便选择一个就能够了(好比选择Dialog based)。

第四步:输入项目名称、文件

选择文件保存位置,输入项目标题后,项目文件名自动按标题生成。

界面及操做与控制台程序相同,程序名设置为ghello。

第五步:选择编译器

这一步界面、内容及操做与控制台程序相同,仍是保持默认就能够了,直接点击Finish就好了。

生成的文件比控制台文件要多一些,包括源代码、头文件、资源文件等。

第六步:编译运行

点击上图中的编译运行按钮,就会执行编译过程。只要不出现错误,编译连接完成后就会运行程序,出现如下窗口。这只是一个空窗口,尽管没有内容,但外观跟平时使用的程序的窗口是同样的。

到这一步,你的第一个windouows GUI应用程序已经建立完成了,是否是很简单?

2. 改成Hello World

尽管生成的是一个空窗口,起码说出现了熟悉的样貌了。之后根据须要,添加代码,就能够实现更多的功能。

如今先把窗口的标题由Dialog改成Hello World

双击Code::Blocks左边管理栏中的文件resource.rc,你会在右边的代码编辑区看到如下代码

// Generated by ResEdit 1.5.10 // Copyright (C) 2006-2012 // http://www.resedit.net
 #include <windows.h> #include <commctrl.h> #include <richedit.h> #include "resource.h"


//
// Dialog resources // LANGUAGE 0, SUBLANG_NEUTRAL DLG_MAIN DIALOG 0, 0, 186, 95 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU CAPTION "Dialog" FONT 8, "Ms Shell Dlg" { } //
// Manifest resources // LANGUAGE 0, SUBLANG_NEUTRAL 1                  RT_MANIFEST    ".\\manifest.xml"

将其中的CAPTION "Dialog"修改成CAPTION "Hello World"。而后按第六步的操做编译运行。运行结果窗口的标题是否是编程Hello World了?

尽管这个修改没有实际意义,可是,起码说,它按着咱们的意图改变了。之后,咱们能够经过修改或增长代码,实现我更多的、有意义的功能。

 3. 分别编译为32bit和64bit程序

对于原生的代码来讲,编译生成32bit和64bit程序是很简单的。

若是你使用的是32bit的TDM-GCC,编译结果必定是32bit的应用程序。若是你使用的是64bit的TDM-GCC,按如下步骤操做,可编译生成32bit和64bit程序。

 3.1 编译生成32bit应用程序

第一步:在Code::Blocks左边管理栏中的项目名称ghello上右击鼠标,从弹出菜单中选择Build options打开项目构建选项窗口。

第二步:选择构建目标,而后点击[OK]

如图所示,你看到在项目构建选项窗口中有构建目标选项。勾选32bit选项,则编译生成的程序为32bit的,勾选64bit或者两个都不选,则编译生成的程序为64bit的。

勾选其中32bit的,而后点击[OK],关闭构建目标选项窗口。

第三步:从新编译

在Code::Blocks左边管理栏中的项目名称ghello上右击鼠标,从弹出菜单中选择Rebuild,开始从新编译程序。而后,耐心等待直到编译完成。

第四步:运行并验证编译结果

点击Code::Blocks上部工具栏中的运行按钮(绿色三角)运行程序,出现标题栏中显示Hello World的窗口。

右击电脑屏幕左下角的操做系统主菜单按钮,从弹出菜单中选择“任务管理器”,打开任务管理器窗口。

从窗口的“应用”栏中找到gheloo.exe,你会发现后面有(32位)标记,表示应用程序是32bit的。

3.2 编译生成64bit应用程序

重复执行4.1中的第一步至第四步,不一样之处是在第一步的构建目标选项窗口中勾选64bit,其余操做彻底相同。

你会发现从新编译后在第四步的任务管理器窗口中gheloo.exe后的括号没有了,说明编译生成的应用程序是64bit的了。

4 结束语

感受怎么样?很简单吧?

其实,学会编写程序是一件很简单的事情,不过,要想学好、学精,就须要多学多练,逐步积累经验。能够从简单的程序开始,逐步增长功能。也能够选用别人的一个程序,尝试着修改,实现本身须要的功能。

就像学习语文同样,学会了单个字词,而后组成语句。语句多了就成了文章,语句间有了好的逻辑关系就成了好文章了。

相关文章
相关标签/搜索