– 328 –
第 章
1
1
7
7
图
图
形
形
显
显
示
示
在前几章中,我们已经开始熟悉 GUI,在还没有对 Symbian 操作系统图形深入理解的情况下,
我们就已经开始程序设计了。尽管在第 15 章看到了在应用程序视图中进行绘制的一些具体例子,
但是在菜单、对话框以及标准控件中的大多数其他绘制则是由 Uikon、UIQ 或者 S60 框架完成。
现在是更详细地探讨图形的时候了。本章介绍关于屏幕绘制所需要知道的更复杂更有效的知识:
• 如何在屏幕上得到图形;
• 如何使用 CGraphicsContext API;
• 模型-视图-控制器范例(MVC);
• 如何更新屏幕且不产生视觉闪烁;
• 如何使用窗口(RWindow)和控件(CCoeControl)来共享屏幕;
• Symbian 操作系统图形系统支持的特殊效果;
• 窗口服务器与绘制相关的功能;
• 与尺寸无关的绘制,包括缩放;
• 与目标无关的绘制以及绘制到多于一个的输出设备上;
• 设备特性。
在第 18 章,我们将介绍支持基于键盘和触笔设备的用户交互的内容。
17.1 绘图基础
GUI 比控制台程序提供了多得多的显示数据的机会。即使是在只显示“Hello World”这么简
单的程序中,也要面对这些问题:
• 应该使用什么字体;
• 前景和背景应该使用什么颜色;
• 在哪里放置文本;
• 在某些类型的边框和框架中应不应该将文本设置为关闭;
• 屏幕有多大,以及可以使用多大来绘制文本。
不论以何种方式来看待它,都必须做出上述决定,因此程序中显示“Hello world”的部分不
可避免地要比文本模式程序的相应部分要大。同样,下面是典型的图形“Hello World”程序的 Draw()
函数。
void CHelloWorldAppView::Draw(const TRect& /*aRect*/) const
{
评论0
最新资源