Windows程序设计——第四章《输出文字》要点摘要

1.WM_PAINT的时机:  (1)在使用者移动窗口或显示窗口时,窗口中先前被隐藏的区域重新可见。  (2)使用者改变窗口的大小(如果窗口类别样式有着CS_HREDRAW和CS_VREDRAW位旗标的设定)。  (3)程序使用ScrollWindow或ScrollDC函数滚动显示区域的一部分。  (4)程序使用InvalidateRect或InvalidateRgn函数刻意产生WM_PAINT消息。  (5)Windows擦除覆盖了部分窗口的对话框或消息框。  (6)菜单下拉出来,然后被释放。  (7)显示工具提示消息。   2.强行产生WM_PAINT的方法:InvalidateRect InvalidateRgn

3.设备内容(DC):   GDI内部保存数据的数据结构。调用GDI函数对数据结构中的数据项进行填充。   4.WM_PAINT处理过程:  BeginPaint用于使无效区域变有效,EndPaint用于和BeginPaint匹配出现.  BeginPaint会填充PAINTSTRUCT的变量ps。   5.手动使矩形无效:  InvalidateRect (hwnd, pRec, bErase) ;  hwnd为窗口句柄,pRec为矩形结构的指针,bErase   6.PAINTSTRUCT中的rcPaint成员指定了无效矩形的范围。可以由此获得。

7.自定义背景擦除行为:处理WM_ERASEBKGND消息

8.获得内容句柄的方法:  (1)BeginPaint返回(需要EndPaint匹配)  (2)GetDC(需要ReleaseDC匹配)

9.GetDC不会使得矩形内容变有效,如果使某个矩形内容变有效,可以用ValidateRect函数

10.非显示区域绘制:  DC的获得:GetWindowDC 非显示区域绘制的信息:WM_NCPAINT   11.常用技巧:如果函数中需要用到静态变量,需要将其初始化工作置于WM_CREATE中完成

12.lstr系列用于对通用字符串进行操作。

13.设定文本对齐方式:SetTextAlign

14.lparam 的低16位保存了屏幕宽度,高16位保存了屏幕高度   求高低八位的宏:LOWORD HIWORD    15.用滚动条用户需要进行的操作:  (1)初始化滚动条的范围和位置  (2)处理窗口消息处理程序的滚动条消息  (3)更新滚动条内卷动方块的位置  (4)更改显示区域的内容以响应对滚动条的更改   16.追踪滚动信息:  wParam的高16位为此时滚动条的位置  wParam的低16位为滚动条事件的类型   17.静态变量会自动初始化,所以WinProc中的静态变量初值均为0

18.用UpdateWindow立即更新窗口(作用机理:WM_PAINT优先级较低,为了提高其优先级,使用UpdateWindow之后,WM_PAINT信息不用进入等待队列,直接被窗口信息处理程序处理)

19.可变滚动条大小:滚动块大小/滚动条长度 = 页面大小/页面总范围

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值