17.7.3 控件上下文
控件中的 ActivateGc()、DeactivateGc()和 ResetGc()函数通常直接传递到窗口服务器函数:gc.Activate(*iWin)、gc.Deactivate(*iWin)和gc.Reset()。
通过组件控件进行递归时,在调用每个控件的Draw()函数之前,上述函数以及CONE调用它们的方式保证图形上下文被正确重置为默认值。
在某些情况下,不想让图形上下文重置为系统默认值:相反,希望将默认值设置为由控件确定的某些值。为此,可以使用控件上下文,它是重写图形上下文激活和重置行为的接口。
一个使用控件上下文的控件在其 iContext 数据成员中保存指向它的指针。通过测试 iContext 值,控件能够确定是否为它的所有绘制操作使用系统图形上下文。这解释了在控件的ActivateGc()动作中的第二种情况—第一种情况在第17.5节讨论图形上下文的激活时提出,为了方便查阅,下面再次列出。
更进一步的细节请参看SDK及示例。
【责任编辑:
董书 TEL:(010)68476606】