3.填空题
1)闪烁的原因并不是因为绘图速度太快或太慢,而是因为画面____,背景和前景画面互相覆盖形成了视觉差造成的。解决闪烁问题的关键,就是禁止在一次界面更新中____。具体办法可以归纳为以下4种。
①非客户区和客户区不能同步更新画面造成的闪烁,可以去掉窗口的标题和边框。只在____消息回调时绘画,而在____消息回调中不绘画。例如,QQ、360等软件皆是如此。
②客户区内背景和前景不能同步更新画面,在____背景更新和____前景更新两个消息中,只选择一种消息回调时绘画而在另一个消息回调时不绘画。
③Invalidate强制更新客户区函数,代入FALSE只更新前景而不更新背景,可以减少客户区闪烁。或者说代入FALSE只通知____消息回调,而不通知____消息回调。
④即使只在客户区中输出画面,如果画面输出的背景图和角色图形太多,则还会发生背景图和角色之相互覆盖造成画面闪烁。解决这个问题必须使用“____”技术。
2)开发一个可以支持画线、矩形和椭圆形等图形的软件,必须将鼠标按下、释放和拖动等事件联合处理。如果将各种图形的绘制以及拖放等过程在一个类中编写,则最后这个类的代码将无比庞大而且难以维护。大型图形软件通用的架构,是用一个____将不同图形的处理代码分类管理。
3)请在表8-9中填写CDC类成员说明(不闭合线形)。
表8-9 CDC类成员说明1

4)请在表8-10中填写CDC类成员说明(闭合图形)。
表8-10 CDC类成员说明2

5)请在表8-11中填写CDC类成员说明(成块图像输出)。
表8-11 CDC类成员说明3

6)请在表8-12中填写CDC类成员说明(文本函数)。(https://www.daowen.com)
表8-12 CDC类成员说明4

7)请在表8-13中填写CDC类成员说明(各种图样绘制)。
表8-13 CDC类成员说明5

(续)

8)请在表8-14中填写CDC类成员说明(属性设置)。
表8-14 CDC类成员说明6

9)请在表8-15中填写CDC类成员说明(设备环境)。
表8-15 CDC类成员说明7

(续)
