引言: 首先,如果学习标C,黑窗口程序,真的没有必要非要用VC; 那么问题来了:学习WIN32是否需要用VC? 我的答案是:不是非要VC不可,其它IDE也可以用来学WIN32; 甚至我一度以为的学到时资源不得不用VC,目前看来稍微费点力气, 也是可以用其它IDE来完成的 但是,使用VC会让你学得更轻松,更自在~ WIN32的学习是需要一定的时间的,初步了解WIN32的框架差不多也需要60小时左右, 这相当于在大学里学完标准C语言这门课的时间。
WIN32通常都是用VC通过可视化界面添加资源, 资源文件的扩展名是.rc,它必须有resource.h的头文件来辅助 在程序编译时它会被资源编译器编译生成一个.res的文件
|
.rc文件的语法: 1.注释:注释方式和 C语言相通,单行注释用 // 符号,多行注释用 /* ... */符号。 2.预处理命令:预处理指令包括一些头文件的引用(使用 #include,也同 C 语言)。 3.编译指令:预定义(#define,常量和宏,不支持带参数的宏)和条件编译(#if, #ifdef, #undef, #ifndef, #else, #elif, #endif等)。 4.资源定义声明:资源定义的声明中包括“资源”(Resources),"控件"(Controls)和 “声明”(Statements) 3类。 |
.rc文件的编译: 在VC中,使用RC.EXE对.rc文件进行编译,生成.res的汇编文件, 使用CL.EXE编译C/C++文件,生成.obj的汇编文件 再由LINK.EXE链接这些文件和user32.lib生成.exe
在mingw编译器中, 使用windres.exe对.rc文件进行编译, 用gcc/g++对C/C++源文件进行编译再进行链接
这些手工输命令的方式过于繁杂,所幸基本上IDE都会提供自动编译+链接的功能, VC自然有这个功能,其它的IDE比如 C-Free也同样OK,DEV_CPP也OK 本文最后附上DEV_CPP的实现步骤 |
1. 文件导入的资源(BITMAP, ICON, HTML, FONT, CURSOR) 举例:
例2:CURSOR
|
对话框资源: 见图: 对应的.rc文件:
对应resource.h:
对应的.cpp文件:
|
菜单资源:(当然,菜单不使用资源也可以创建的~用命令创建的感觉和QT用命令创建很相似,本文不涉及)
对应的.rc文件:
对应的resource.h文件:
对应的.cpp文件:
|
字符串表类型: 对应的.rc文件:
对应的.h文件和.cpp文件略
|
DEV_CPP实现资源应用的步骤: 1. 编写.rc文件: 2. 编写resource.h文件: 3. 更改main1.cpp文件: 4. 点击编译运行按钮:(鼠标的样子也变化了,只是截图显示不出来) |