鱼C论坛

 找回密码
 立即注册
查看: 2732|回复: 0

[学习笔记] 《Windows SDK》003 窗口窗口

[复制链接]
发表于 2017-7-5 15:30:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 BngThea 于 2017-7-15 09:41 编辑

前面两节内容较少,这节感觉内容好多,花了好多时间才学完

一 核心知识点
* 窗口创建流程
   1 定义基本变量:窗口类标题、窗口句柄、消息对象
   2 定义并初始化窗口类对象wndclass
   3 RegisterClass()注册wndclass
   4 CreateWindow()创建窗口并将其句柄赋给hwnd
   5 ShowWindow() 和 UpdateWindow()显示并更新窗口
   6 消息更新与循环

* WNDCLASS类
   成员列表:
  1. //初始化窗口类型对象的参数:
  2.         wndclass.style = CS_HREDRAW | CS_VREDRAW; //定义风格:水平及竖直方向重绘
  3.         wndclass.lpfnWndProc = WndProc;//定义回调函数,上述声明的WndProc
  4.         wndclass.cbClsExtra = 0; //额外空间,暂无用
  5.         wndclass.cbWndExtra = 0;  //额外空间,暂无用
  6.         wndclass.hInstance = hInstance;//定义当前的实例,用WinMain中的第一个参数
  7.         wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);//定义图标样式
  8.         wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);  //定义鼠标样式,为普通箭头
  9.         wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //定义背景颜色,为白色
  10.         wndclass.lpszMenuName = NULL;  //定义菜单,暂为空
  11.         wndclass.lpszClassName = szMyClass; //定义窗口类的标题名称,用基本量szMyCLass
复制代码


目前关注点在 style成员,同时注意回调函数必须使用带CALLBACK的函数

* CreateWindow()函数
  参数列表:
  1. //创建窗口,并将句柄赋给其hwnd
  2.         hwnd = CreateWindow(szMyClass, //窗口类的名称
  3.                                 TEXT("Windows SDK"), //窗口的标题
  4.                                 WS_OVERLAPPEDWINDOW, //窗口的风格
  5.                                 CW_USEDEFAULT,       //初始x坐标
  6.                                 CW_USEDEFAULT,       //初始y坐标
  7.                                 CW_USEDEFAULT,       //初始x尺寸
  8.                                 CW_USEDEFAULT,       //初始y尺寸
  9.                                 NULL,                //父窗口的句柄,为空
  10.                                 NULL,                //菜单的句柄,为空
  11.                                 hInstance,           //该窗口用的实例句柄
  12.                                 NULL);               //创建时的参数,为空
复制代码

目前关注的是第三个参数,该参数可选的预定义值非常多,很多窗口自定义功能通过它实现

二 其他
* 对模板自己动手码上五遍,基本能对整个流程有个大致的把握
* 模板中的其他函数还未进行讲解,后续应该会有详细讲解
* Windows SDK编程中无论函数,变量基本都是由单词构成,理解每个单词的含义可能会很好的帮助我们快速深入的进行学习

评分

参与人数 1鱼币 +2 收起 理由
小甲鱼 + 2

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-18 09:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表