控件 通过检查OwnsWindow()返回ETrue还是 EFalse,可以测试控件是否拥有窗口,尽管 它的主要用途是在CCoeControl的框架代码 内。例如这个测试用于CCoeControl的析构 函数中,确定是否应该调用C10 seWindow()
6 通过检查OwnsWindow()返回ETrue还是 EFalse,可以测试控件是否拥有窗口,尽管 它的主要用途是在CCoeControl的框架代码 内。例如这个测试用于CCoeControl的析构 函数中,确定是否应该调用C10seWindow()。 控件
控件 对于Symbian OS等系统,它可能运行在能 源和资源有限的设备上,窗口比较昂贵。每 个窗口明显只在使用资源的应用程序中使用 该资源,但是在窗口服务器中它也需要相应 的资源。此外,每个窗口导致应用程序和窗 口服务器之间产生额外的客户端-服务器通 信。所以尽可能使用寄宿控件很有意义。不 过,两种类型在编程方面没有很大差异。 任何普通应用程序都需要某种形式的屏幕 访问,因此必须至少包含一个拥有窗口的控 件。其他控件可能需要拥有一个窗口,如果 它们需要一个窗口的属性,例如覆盖另一个 窗口的功能。◇
7 对于Symbian OS等系统,它可能运行在能 源和资源有限的设备上,窗口比较昂贵。每 个窗口明显只在使用资源的应用程序中使用 该资源,但是在窗口服务器中它也需要相应 的资源。此外,每个窗口导致应用程序和窗 口服务器之间产生额外的客户端-服务器通 信。所以尽可能使用寄宿控件很有意义。不 过,两种类型在编程方面没有很大差异。 任何普通应用程序都需要某种形式的屏幕 访问,因此必须至少包含一个拥有窗口的控 件。其他控件可能需要拥有一个窗口,如果 它们需要一个窗口的属性,例如覆盖另一个 窗口的功能。 控件
控件 所有控件最终派生于CCoeControl类(在 coecntrl.h中定义)。这个类的APl包含大约90 个单独的成员函数:本章将研究比较重要的 函数。 派生于CCoeControl的类的一个非常普遍 的用途是作为应用程序视图,以后将使用视 图说明控件的工作
8 所有控件最终派生于CCoeControl类(在 coecntrl.h中定义)。这个类的APl包含大约90 个单独的成员函数:本章将研究比较重要的 函数。 派生于CCoeControl的类的一个非常普遍 的用途是作为应用程序视图,以后将使用视 图说明控件的工作。 控件
简单控件 除了它们是否拥有窗口,控件还可以是简 单控件或复合控件。复合控件是包含一个或 多个组件控件的控件:简单控件不包含组件 控件。 可以编写的最简单的简单控件是 绘制一个空白矩形并且不响应用户输入(创 建CCoeControl:基类的实例从技术上讲可行, 但是它的用法不清晰,因为结果控 件不能绘制自己)
9 除了它们是否拥有窗口,控件还可以是简 单控件或复合控件。复合控件是包含一个或 多个组件控件的控件:简单控件不包含组件 控件。 可以编写的最简单的简单控件是 绘制一个空白矩形并且不响应用户输入(创 建CCoeControl基类的实例从技术上讲可行, 但是它的用法不清晰,因为结果控 件不能绘制自己)。 简单控件
简单控件 作为一个示例,下面将分析HelloB1ank中 使用的应用程序视图,这是一个在自身视图 中使用这种空白控件的“He1 loWorld”应用 程序。应用程序视图的类 定义很简单: class CBlankAppView:public CCoeControl public: void ConstructL(const TRect&aRect); };
10 作为一个示例,下面将分析HelloBlank中 使用的应用程序视图,这是一个在自身视图 中使用这种空白控件的“HelloWorld”应用 程序。应用程序视图的类 定义很简单: class CBlankAppView:public CCoeControl { public: void ConstructL(const TRect& aRect); }; 简单控件