VC菜菜鸟:基于CFree的HelloWorld程序
//原文链接:http://blog.csdn.net/it1988888
故事发生在很久很多久以前,有一只菜菜鸟,领略到Windows系统及其应用软件的强大,令其折服,遂生自行编写软件的念头。
网上很多VC相关的教程,但总结起来,大多数都使用MFC,虽然听说它的自动化程度令人痴迷,但亦有专家说只懂使用MFC编程,不算真正懂编程。
那么,真正的编程是什么样子呢?
从C语言来看,我理解的编程是调用现成的库函数,或者自行编程创造函数以供调用。
曾经也想学MFC,下了决心,然后看过几次程序,但实在看不下去了,在电脑里听讲师授课,胜似催眠术,于是乎几次都是昏昏欲睡之。
我是学C编程开始的,然后学了单片机、嵌入式系统,长期以来养成的坏习惯就是,喜欢自己鼓捣程序,不喜欢拿别人的程序来抄,总觉得看不进去,就像一架神舟飞船在你面前,但是你却无法解读它,毕竟,这是人家已经装配好的东西,程序亦如此,这是人家整编好的程序,一旦把一个庞大的别人完成的程序放在我面前,我就懒得花心思去深入研究了,总觉得程序量一旦达到一定的量,你光看程序根本很难了解作者如此设计程序的思路,或者说是方法、目的。好吧,MFC也是这样的道理,微软公司把API整编好了,然后,你想要什么东西,就告诉它,它就像KFC一样,只要你下订单,它给你一个丰盛的早餐了,但是你永远学不会自己做早餐。
言归正传,讲VC菜菜鸟的第一课吧,创建一个窗口,就是一个软件的界面,相当于经典的"Hello, world!"吧。效果图如下:
-打开图(1)-
开发环境: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",才能正确编译并显示对话框呢?
-欲知后事如何,且听下回分解-
转载于:https://www.cnblogs.com/techstone/archive/2012/06/15/3321365.html
VC菜菜鸟:基于CFree的HelloWorld程序相关推荐
- 最简单的基于FFMPEG的Helloworld程序
学习雷神的FFMPEG入门教程,本文基于命令行实现. 文件结构 G:\Coding\FFMpeg\Proj\Console>dir驱动器 G 中的卷没有标签.卷的序列号是 0FD5-0CC8G: ...
- VC菜菜鸟-创建一个即时串口通信程序
//编者注:串口接收基于多线程任务. #include <windows.h> #include <windowsx.h> #include "main.h" ...
- VC菜菜鸟-创建一个简单的多线程任务
在学习编程的过程中,经典的"HelloWorld"给我最大的启示就是,一切从简,简而明理. 写一个连"白痴"都看得懂的代码,是编程的最高境界. 想要学一个知识点 ...
- 用vc对oracle数据库编程,用VC开发基于ORACLE数据库应用程序
用VC开发基于ORACLE数据库应用程序 徐智文 [期刊名称]<包钢科技> [年(卷),期]2006(032)001 [摘要]VC++是一个强大的客户端开发工具,可以很方便地开发出基于PR ...
- 鸿蒙基于JS搭建HelloWorld并修改国际化文件
场景 鸿蒙HarmonyOS环境搭建与HelloWrold应用运行: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1179945 ...
- java jni helloword_JNI学习一:编写HelloWorld程序
转载请说明出处~ 本文教程翻译jni官方文档的部分内容. 要查看Jni官方文档,请点击这里 先感叹一下时光如水,岁月不留人哇有木有!!!认真想想在XMU的这三年,真的改变了我好多. 我还清楚地记得学习 ...
- 在VC中使用ADO开发数据库应用程序
在VC中使用ADO开发数据库应用程序 一.ADO概述 ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口.ADO 使您能够编写应用程序以通过 ...
- 用python写helloworld_Python基于Tkinter的HelloWorld入门实例
Python基于Tkinter的HelloWorld入门实例 本文实例讲述了Python基于Tkinter的HelloWorld入门实例.分享给大家供大家参考.具体分析如下: 初学Python,打算做 ...
- Node.js入门以及第一个helloworld程序.
1.概念:简单的说 Node.js 就是运行在服务端的 JavaScript.学之前需要明白Node.js是无法挑战jsp.php或者asp这种老牌网站的地位的,是永远不会出现在证券.金融这种领域的. ...
最新文章
- xp大容量u盘补丁_Win XP系统下载与安装(U盘)
- SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署
- 链表问题10——两个单链表生成相加链表(方法二)
- 十年Java编程开发生涯,java计算时间差毫秒
- 新站SEO优化如何吸引搜索引擎蜘蛛的爬行?
- php cli模式下获取参数的方法
- 洛谷P3694 邦邦的大合唱
- hibernate+mysql保存中文数据乱码问题
- 网络调试指令ping、telnet、curl
- OpenCV equalizeHist直方图均衡化的实例(附完整代码)
- 机器学习笔记网盘分享
- Django权限管理测试
- 【背包问题】基于matlab粒子群算法求解背包问题【含Matlab源码 1343期】
- 2016年第四届C/C++ A组蓝桥杯省赛真题
- 【转】plt.plot的颜色
- 连续子串最大和——python实现
- 设计院总工毕生总结的200条经验
- vue自定义弹窗dialog,vue 点击遮罩层功能区以外的地方关闭遮罩层
- ES6箭头函数以及promise/async/await测试案例
- Python 鸭子类型的理解