Windows核心编程03-编写窗口程序的步骤

编写窗口程序的步骤:

  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依赖行

  

 

转载于:https://www.cnblogs.com/visions/p/5557467.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值