设置好CGraphicsContent
后,我们就可以通过调用相关方法在窗口中绘制图形。
void DrawText(const TDesC& aText,const TPoint& aPosition)
我们通过Plot()来绘制一个单独的点。点的绘制模式与当前的画笔(Pen)设置相同。void Plot(const TPoint& aPoint)
void DrawLine(const TPoint& aPoint1,const TPoint& aPoint2)
DrawLine ()在aPoint1 和aPonit2 之间绘制一条直线。
void DrawLineTo(const TPoint& aPoint)
DrawLineTo ()从当前点向aPoint 绘制一条直线。
void DrawLineBy(const TPoint& aVector)
DrawLineBy ()从当前点向相对当前点位置为aVector 的点绘制一条直线。
void DrawPolyLine(const CArrayFix<TPoint>* aPointList)
DrawPolyLine ()根据给定的位置数组从第一个点开始向第二个点绘制直线,然后以第二个点为起始点向第三个点绘制直线。。。。。。直到最后一个点。
在这里需要注意的一点是,在绘制直线的时候,系统并不绘制直线的最后一点,如果我们希望绘制一条包括最后一点的直线,我们可以使用上边的Plot ()方法绘制最后一个点。
我们可以使用系统提供的方法直接绘制五种简单图形,分别是矩形(rectangle)、圆角矩形(rounded rectangle)、多边形(polygon)、椭圆形(ellipse)和饼型(pie slice)。绘制模式和填充模式与当前的画笔(Pen)、刷子(Brush)设置相同
1文本:
void DrawText(const TDesC& aText,const TPoint& aPosition)
void DrawText(const TDesC& aText,const TRect& aBox,TInt aBaselineOffset, TTextAlign aAlignment=ELeft,TInt aLeftMargin=0)
其中第一个直接在窗口中绘制文本,其中aText给出来要绘制的文本内容,aPosition制定了要绘制文本的起始位置。
第二个在绘制文本的同时,还要以给定的aBox绘制一个矩形外框。aAlignment参数指定了文本的对齐方向,默认为左对齐;aLeftMargin指定了间隔距离,默认值为0。
由于Symbian系统的内存受限制,所以,没有使用的字体系统是不会调入内存的,因此我们在绘制文本前,应该首先使用UseFont()设置系统的字体:
void UseFont(const CFont* aFont)
这样系统会将字体调入内存中。
在我们不使用这个字体以后,为了节省内存,要使用DiscardFont()释放掉内存中的字体。
void DiscardFont()
2点:
我们通过Plot()来绘制一个单独的点。点的绘制模式与当前的画笔(Pen)设置相同。void Plot(const TPoint& aPoint)
当画笔的宽度大于一个像素的时候,系统会以aPoint为圆心,画笔的宽度为直径绘制一个圆,并用画笔的颜色填充这个圆。
3线:
绘制直线的方法有DrawLine() 、 DrawLineBy() 、 DrawLineTo() 和DrawPolyLine() 、DrawArc() ,绘制模式与当前的画笔(Pen )设置相同。void DrawLine(const TPoint& aPoint1,const TPoint& aPoint2)
DrawLine ()在aPoint1 和aPonit2 之间绘制一条直线。
void DrawLineTo(const TPoint& aPoint)
DrawLineTo ()从当前点向aPoint 绘制一条直线。
void DrawLineBy(const TPoint& aVector)
DrawLineBy ()从当前点向相对当前点位置为aVector 的点绘制一条直线。
void DrawPolyLine(const CArrayFix<TPoint>* aPointList)
DrawPolyLine ()根据给定的位置数组从第一个点开始向第二个点绘制直线,然后以第二个点为起始点向第三个点绘制直线。。。。。。直到最后一个点。
在这里需要注意的一点是,在绘制直线的时候,系统并不绘制直线的最后一点,如果我们希望绘制一条包括最后一点的直线,我们可以使用上边的Plot ()方法绘制最后一个点。