17.1.4 绘制文本
现在打算绘制矩形中央的文本。为了便于测量,我们从矩形的每边缩小1个像素开始,这样可以在不影响刚刚绘制的边框的情况下将它涂白。
- rect.Shrink(1,1);
然后,从UI环境中获取一种字体。
- const CFont* font = iEikonEnv->TitleFont();
这是我们第一次遇到CFont*。在这一章的后面,我们将详细介绍如何获取字体,以满足所期望的字体、字号、粗体/斜体等字体属性。为了在这里避开这一问题,我们只使用了来自环境的标题字体—它是用在对话框标题栏上的字体,而且它的粗细大小合适。
仅有字体的指针是不够的,还必须告诉图形上下文去使用它。
- gc.UseFont(font);
这个 UseFont()为所有后来的文本绘图函数设置字体,直到发出了另一个 UseFont()调用,或调用了DiscardFont()为止。
现在需要在rect矩形中居中绘制文本。
其中,iHelloWorld是指向包含要绘制的文字的描述符的指针。
这个 DrawText()函数使用图形上下文的画笔、字体设置来方便地绘制文本,并使用当前画刷设置来清除整个矩形区域。水平对齐由它的最后一个参数指定(这里我们指定它为 Cgraphics Context::ECenter,表示文本应该水平居中)。
【责任编辑:
董书 TEL:(010)68476606】