zoukankan      html  css  js  c++  java
  • windows 游戏编程大师 读书笔记

    一、杂记

    1、自动显示窗口的标识符:WS_VISIBLE。若无此标识符,则需用ShowWindow()手动显示所创的窗口。

    2、UpdateWindow()产生一个WM_PAINT消息。

    3、消息处理函数WinProc()中的参数hwnd只有当使用同一个窗口类创建的多个窗口时才起作用,此时,它表明消息来自哪个窗口。

    4、WM_DESTROY在关闭窗口时产生,此消息并不终止应用程序,仅仅关闭窗口。在此之前产生一个WM_CLOSE的消息。

    5、每处理一个消息后,用return (0);来退出WinProc(),且通知系统已经处理了该消息。

    6、所有向WinProc()传递的参数都包含在MSG结构体中,且该结构体可在消息循环中由GetMessage()或PeekMessage()捕获。

    7、<windowsx.h>包含一些有用的宏以及常量。WIN32_LEAN_AND_MEAN宏提示系统不要包含MFC的有关东西。

    8、将字符串作为资源加载时,每行长度不能超过255个字符(包括常量本身在内)。

    9、除了转义序列“ ”等不能放到字符串表单里,其他字符均可以,例如:%d、八进制码序“15”等。

    10、int LoadString()加载字符串资源,返回加载的字符串长度。

    11、鼠标位置是相对于客户区而言的,不包括边界以及控件,鼠标传递的是相对于左上角(0,0)的坐标;鼠标按键编码(以MK_开头)在WM_MOUSEMOVE中处理。

    12、自行发送消息的函数:

    LRESULT SendMessage():向窗口传递一个要求立即处理的消息,在接收窗口处理完该消息后紧跟接收窗口的WinProc()函数返回,且返回值为WinProc()的返回值;

    BOOL PostMessage():向消息队列里顺序插入一个消息,当轮到该消息时才执行,也就是说该函数传递的消息处理时有延迟,如果不在意这种短暂的延迟,则可以使用该函数传递消息,同时,该函数也不容易出现消息乱序。

    13、使用GetStockObject()或Create**()创建画笔、画刷、字体对象后,当不在使用他们时,应该使用DeleteObject()释放。

    14、使用COLORREF SetPixel()绘制像素点,返回当前设置的像素颜色。

    15、使用GetWindowDC()与GetDC()的区别:

    GetWindowDC获取的设备描述表不仅可以在客户区内绘图,还可以在控件区域内绘图;而使用GetDC()获取的设备描述表就只能在客户区内绘制。

    16、绘制线条时,使用MoveToEX()设置起点,使用LineTo()设置终点并绘制,上一次绘制的终点自动成为下一次绘制的起点。

    17、传递给Rectangle()函数的坐标是矩形的外边框,如果线性为NULL,则得到的矩形在四个方向上各短了一个像素,该函数使用当前画笔和画刷绘制。FillRect()不使用边界画笔而绘制一个实心填充的矩形,包括左上角但不包括右下角,也就是说,若要填充(10,10)(30,30)区域,需要将坐标设置为(10,10)(31,31)。FrameRect()画出矩形边框。

    18、画刷和画笔可以同时各选一支,且每中只能选一支。

    二、对话框

    2.1、分类:

      根据对话框与其父窗口的关系,将对话框分为模态对话框和非模态对话框。模态对话框“令其父窗口无效,直到对话框结束”;非模态对话框“父窗口与对话框共同运行”,一般比较常用的是模态对话框。

      例如MessageBox就是模态对话框。

    2.2、创建一个对话框(以模态对话框为例)

    ......持续更新......

    温润如玉,坚毅如铁。
  • 相关阅读:
    Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?
    MyBatis 实现一对多有几种方式,怎么操作的?
    利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进 程的信息?
    哪个命令专门用来查看后台任务?
    什么是 MyBatis 的接口绑定?有哪些实现方式?
    什么是端到端微服务测试?
    我们如何在测试中消除非决定论?
    什么是持续监测?
    怎么使一个命令在后台运行?
    博客园样式美化(兼容为知笔记)
  • 原文地址:https://www.cnblogs.com/heisen/p/8969522.html
Copyright © 2011-2022 走看看