编写窗口程序的步骤:
1 定义WinMain函数
2 定义窗口处理函数(处理消息)
3 注册窗口类
4 创建窗口(在内存中创建窗口)
5显示窗口(根据内存的数据将窗口绘制出来)
6消息循环(提取/翻译/派发)消息
7消息处理
#include "windows.h" LRESULT WndProc(HWND hWnd,UINT nMsg,WPARAM wParam,LPARAM lParam) { return DefWindowProc(hWnd,nMsg,wParam,lParam); } //定义WinMain函数 int WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,LPSTR lpCmdLine, int nCmdShow) { WNDCLASS wc={0}; HWND hWnd = 0; MSG nMsg = {0}; //定义窗口处理函数 wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = NULL; wc.hCursor = NULL; wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wc.lpszMenuName = NULL; wc.lpszClassName = "Main"; //注册窗口类 RegisterClass(&wc); //创建窗口(在内存中创建) hWnd = CreateWindow("Main","hWnd",WS_OVERLAPPEDWINDOW,100,100,500,500,NULL,NULL,hInstance,NULL); //显示窗口 ShowWindow(hWnd,SW_SHOW); //消息循环 while(GetMessage(&nMsg,NULL,0,0)) { //消息处理 TranslateMessage(&nMsg); DispatchMessage(&nMsg); } return 0; }
编译 链接。。。 cl.exe link.exe
资源的使用
编写资源的文件-.rc资源脚本文件
编写rc文件-RC.EXE
将资源链接到程序中-LINK.EXE
实际操作步骤:
1,新建一个HelloWnd.rc的文件,内容为:100 ICON Small.ico
VC 6.0 对.ico文件的要求很高如果找不到合适的.ico就去建一个窗口程序复制里面的Small.ico
2,复制Small.ico复制到同个目录
3,编译:rc.exe HelloWnd.rc 生成HelloWnd.RES
4,链接 .obj与.RES link.exe HelloWnd.obj HelloWnd.res user32.lib
5, 生成一个图标改变的 HelloWnd.exe
NMAKE和Makefile
NMAKE
Makefile的一个解释执行的工具,根据Makefile文件中的定义,编译和链接程序,最终生成目标文件
Makefile(.mak)
定义编译和链接等操作的脚本文件(把项目的处理命令写入),一般对整个项目进行处理。
Makefile的语法:
HELLO:依赖行
cl.exe hellownd.c /c //命令行
rc.exe hellownd.rc //命令行
link.exe hellownd.obj hellownd.res user32.lib //命令行
Makefile文件中可以有多个依赖行
执行方式
NMAKE首先找到第一个依赖行
检查依赖行的依赖项,如果发现依赖项,首先执行依赖项命令行
执行完所有依赖命令后,再执行自己的命令行。
执行步骤:
1,创建一个.mak的文件 HelloWnd.mak 写入以上语法那几行
2, 执行命令 使用nmake执行 nmake HelloWnd.mak
3, 如果有多个依赖行 可以指定执行哪个依赖行 nmake /f HelloWnd.mak CLEAN
4,多个依赖行执行一次执行及顺序,先执行 : 后的依赖行
HELLO:CLEAN cl.exe hellownd.c /c rc.exe hellownd.rc link.exe hellownd.obj hellownd.res user32.lib CLEAN: del *.obj del *.res del *.exe
执行命令 nmake HelloWnd.mak 先执行CLEAN的依赖行,再执行HELLO依赖行