//http://blog.csdn.net/it1988888
//不鸣则已,一鸣惊人。第一招,就出绝招,才能胜券在握。
故事发生在很久很多久以前,有一只菜菜鸟,领略到Windows系统及其应用软件的强大,令其折服,遂生自行编写软件的念头。
网上很多VC相关的教程,但总结起来,大多数都使用MFC,虽然听说它的自动化程度令人痴迷,但亦有专家说只懂使用MFC编程,不算真正懂编程。
那么,真正的编程是什么样子呢?
从C语言来看,我理解的编程是调用现成的库函数,或者自行编程创造函数以供调用。
曾经也想学MFC,下了决心,然后看过几次程序,但实在看不下去了,在电脑里听讲师授课,胜似催眠术,于是乎几次都是昏昏欲睡之。
我是学C编程开始的,然后学了单片机、嵌入式系统,长期以来养成的坏习惯就是,喜欢自己鼓捣程序,不喜欢拿别人的程序来抄,总觉得看不进去,就像一架神舟飞船在你面前,但是你却无法解读它,毕竟,这是人家已经装配好的东西,程序亦如此,这是人家整编好的程序,一旦把一个庞大的别人完成的程序放在我面前,我就懒得花心思去深入研究了,总觉得程序量一旦达到一定的量,你光看程序根本很难了解作者如此设计程序的思路,或者说是方法、目的。好吧,MFC也是这样的道理,微软公司把API整编好了,然后,你想要什么东西,就告诉它,它就像KFC一样,只要你下订单,它给你一个丰盛的早餐了,但是你永远学不会自己做早餐。
言归正传,讲VC菜菜鸟的第一课吧,创建一个窗口,就是一个软件的界面,相当于经典的"Hello, world!"吧。效果图如下:
开发环境:C-Free,version:5.0;
系统环境:Windows XP;
开发的具体流程,如下:
1,从C-Free中新建一个空的窗口工程;
注意:C-Free 5 使用"mingw5"构建配置,如使用"mingw3.4.5"似乎有问题,编译不成功。
2,创建main.cpp文件,并增加至工程之中,内容如下:
#include "windows.h"
#include "Dialogs.H"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
DialogBox(hInstance, MAKEINTRESOURCE(IDD_FORM), NULL, NULL);
return(0);
}
3,打开菜单“工具”->“对话框编辑器”,打开"File"菜单->"New",新建一个对话框窗口。
然后,需要给窗口取一个ID识别号,如果不取,则不能自动生成"Dialog.h"头文件。当然,命名规则的话,窗口类的识别ID一般以"IDD_"开头。按之前编写的main.cpp文件的要求,对话框的识别号为IDD_FORM。
接着,直接保存,就提示保存一个"Dialog.h"头文件,和一个"Dialogs.DRES"对话框资源文件。
最后,把这个步骤生成的两个文件,都包含进工程。
窗口就已经设计好了,接下来就可以调用并显示窗口了。
4,接下来,可以编译并运行,看一下效果。
结果是,编译通过了,提示程序不存在错误,但是窗口没有如期被调用并显示出来。这是为什么呢?
5,想要调用并显示出之前建立的对话框,需要进行如下操作:
新建一个文件,文件名与工程名相同,后缀为.rc,并添加进工程中,文件内容如下:
#include "Dialogs.DLG"
6,现在编译运行一下吧,我们那个可爱的窗口,煞是可爱的显示在电脑上了,如图(1)所示。^_^=|==|~
课后探讨:为什么要加入"工程名.rc",并写入"#include Dialog.DLG",才能正确编译并显示对话框呢?
-欲知后事如何,且听下回分解-