TCanvas::DrawFocusRect 画一个矩形框,通常用于表示矩形内的控件对象具有输入焦点。 void __fastcall DrawFocusRect( const Windows::TRect &Rect ) ; 当控件获得或失去输入焦点时,调用DrawFocusRect可以画出控件图片的边框。因为DrawFocusRect使用XOR功能,因此,当第二次调用drawFocusRect时,相同的矩形框将从屏幕上消失。 使用DrawFocusRect 画了出的矩形框,为能进行滚动。为了滚动由DrawFocusRect 画出的包含矩形框的区域,首先调用DrawFocusRect ,从屏幕上移去矩形框,滚动该区域,然后再调用drawFocusRect , 在新位置上画出矩形框。
TCamvas::Ellipse 在画布上的矩形范围内画椭圆。 void __fastcall Ellipse (int X1,int Y1,int X2,int Y2 ); 调用Ellipse过程,可以在画布画圆或者椭圆。矩形范围的左上点位于像素坐标(x1,y1).矩形范围的右下点位于像素坐标 (x2,y2).。如果矩形窗体有所有点构成一个正方形,则将画出圆形。使用Pen属性的数值,可以画出椭圆轮廓;作用Brush属性的数值,可以对椭圆进行填充。 注意: 在Windows95中,x1 + x2 的和,以及 y1 +y2 的和,不能超出32768。而且,x1 +x2 +y1 +y2的和也不能超出32768。
TCanvas::fillRect 使用当前刷子填充画布上指定的矩形。 void__fastcall Rloodfill (int X, int Y ,TColor Color,TFillStyle FillStylr ) ; 使用Brush属性的数值,调用FloodFill 过程对可以一个非矩形区域进行填充,被填充区域的边界,从点(x,y,) 开始向外扩充,直到遇到Color参数指定的颜色边界为止。 FillStyle参数,确定了边界颜色变化类型,用下表进行表示。
数值 说明 fsSurface 填充所有由Color参数指定的颜色区域。当遇到另一种颜色时停止 fsBorder 填充所有由非Color参数指定的颜色区域。当遇到Color 参数指定的颜色边界时停止
当使用FillStyle参数为fsSurface的FloodFill过程时,使用Pixels属性可以获得位于点( x ,y )处的颜色的确切数值,类似地,当使用FillStyle参数为faBorder的FloodFill过程时,如果直到边界上的点,则使用Pixels属性可以获得边界颜色的确切数值。
TCanvas::FrameRect 使用画布的Brush属性,画出一个矩形的边框。 void__fastcall framsRect ( const Windows ::TRect &Rect ) ; 使用FrameRect可以画出一个像素宽的矩形区域有边界。FrameRect过程对矩形内部不用Brush属性进行填充。 通常,使用Polygon方法画一条边线,而不使用Pen方法 。
TCanvas ::LineTo 在画布上画开条从当前画笔位置到指定点(x,y)的直线,并且将画笔位置设置为点(x,y)。 void __fastcall LineTo (int X ,int Y); 使用LineTo可以画一条从当前画笔位置到指定点(x,y)的直线,但不包括点 (x,y)。 LineTo 将画笔位置设置为点(x,y)。
TCanvas::Lock 可以使其他线条不在画布上画出。 void __ fastcall Lock(void ); 在需要画多条线条的应用程序中,调用Lock过程可以使其他线条不在画布上画出。除非调用了UnLock方法,否则Lock过程可以使应用程序中的所有其他线条不会画出,嵌套调用Lock, 使LockCount属性增加,以致使画布上进行作图,除非最后一个锁定被释放。 由于Lock可以使所有其他线条不会画出,因此Lock对执行情况具有负影响,除非存在其他线条可能妨碍再画布上进行作图,则不要调用Lock 。
TCanvas::MoveTo 使用当前作图位置移到点(x,y). void __ fastrall MoveTo ( int X , int Y ) ; 在调用LineTo之前,使用MoveTo可以对画笔位置数值进行设定。调用MoveTo的作用与设定画笔位置属性的作用相同。
TCamvas::Pie 用来在画布上画一个扇形椭圆的一部分,扇形的边界为点(x1,y1)和点(x2,y2)确定的矩形的椭圆。 void__fastcall Pie (int X1,int Y1,int X2,int Y2,int X3,int Y3,int X4,int Y4 ); 使用Pie 可以画一个扇形。扇形的边界为点(x1,y1)和点(x2,y2)确定的矩形的椭圆。画出的椭圆部分由椭圆中心向外辐射的经过点(x3,y3)和点(x4,Y4)的两条直线所确定。 使用Pen属性的数值,可以画出扇形轮廓;使用Brush 属性的数值,可以对扇形进行填充。 注意:在windows95中,x1+x2 的和,以及y1+y2的和,不能超出32 768 。而且,x1+x2+y1+y2的和也不能超过32768。
TCanvas::PolyBezier 画一簇Bezier曲线。 void __fastcall PolyBezier (const tagPOINT* Points,const int Points_Size ); PolyBezier用于根据 Points参数指定的控制点画三次Bezier曲线。其中第一条曲线经过第一、第四点。2、3点为控制点。按顺序,每条曲线需至少四个点;上一曲线的终点为下一曲线的开始点,紧接着的两个点为控制点,第四点为终点。画线时使用当前的笔。 可以使用Sice函数把点数组传给PolyBezierTo方法。例如,把100 个点的前10个点画成一条Bezier曲线,使用方法如下: Canvas::PolyBezier(Slice(PointArray,10));
TPanvas::PolyBezierTo 画一簇Bezier曲线并更新PenPos的值。 void__fastcall PolyBezierPo(const tagPOINT* Points ,const inty Points_Size ); PolyBezierTo 用于根据 Points 参数指定的控制点画三次 Bezier 曲线 。其中第一条曲线经过第一、第四点,2、3点为控制点。按顺序,每条曲线需至少四个点;上一曲线的终点为下一曲线的开始点,紧接着的两个点为控制点,第四点为终点。画线时使用当前的笔并把 PenPos 更新为最后一个点的值。 可以使用Slice函数把点数组传给PokybezierTo方法。例如,把100个点的数组的前10个画成一条Brzier曲线,使用方法如下: Canvas::PolyBezierTo(Slice(PointArray,10));
TCanvas::Polygon 在画布上画出链接所有点的一系列直线,并且画出一条从最后一点到起始点的直线以闭合图形。 void __fastcall Polygon( const tagPOINT* Plints const int Points_Size ) ; 使用Polygon, 通过画笔可以在画布上画出一个闭合的多边形。画出完整图形之后,Polygon 还用Brush属性的数值自动填充图形。当需要画一个多边形而又不需要填充时,可以调用Polyline方法,只需要结尾处第二次指定起始点即可。 使用Slice函数,可以将点数组的一部分传递给Polygon 方法。例如 ,以100个点的数组中的开始 10 个点画出一个多边形,可以像以下方法使用Slice函数: Canvas::Polygon::(Slice(PointAeeay,10)。
TCanvas ::Polyline 以当前画笔在画布上画出一系列链接点数组中的每一个点的直线。 void __fastcall Polyline(const tagPOINT* Points.const int Points_Size ) ; 使用 Pilyline 可以在画布上链接一系列的点。如果仅有两个点,Polyline仅画出一条直线。调用MoveTo 功能,将画笔位置移到第一个点,然后用后面所有的点重复调用 LineTo,可以在画布上画出与调用 Pokyline 一样的图形。然而,与 LineToi不同的是,Polyine过程不能改变画笔位置数值。 使用Slice函数,可以将点数组的一部分传递给Polyline方法。例如,为了链接100个点数组中的开始10个点,可按以下方法使用Slice函数: Canvas::Polyine::(Slice(PointArray,10).
TCanvas::Rectangle 可以在画布上画出一个矩形,矩形的左上角为点(x1, y1) ,右下角为点(x2, y2)。 void__fastcall Rectangle(int X1, int Y1, int X2, int Y2, ); 调用Rectangle过程,使用画笔画出一个矩形,并且用刷子进行填充。如要填充一个矩形区域而又不需用当前画笔画出边线时,应使用FillRect方法。如果需要没有填充的矩形区域轮廓,应使用FrameRect方法或者Polygon方法。如果需要画出一个圆角的矩形,应使用RoundRect方法。
TCanvas::Refresh 从设备场境里删除Pen、Brush以及Font。 void__fastcall Refresh (void); 调用Refresh可以使画布使用的HDC回到缺省状态。Refresh不会改变Pen属性、Brush属性以及Font属性的数值。调用Refresh后,如果HDC是被作图方法使用的话,那么任何作图方法的调用,将需要为HDC重新选择Brush、Font或者Pen。
TCanvas::RoundRect 可以在画布上画出一个圆角的矩形。 void__fastcall RoundRect (int X1, int Y1, int X2, int Y2, int X3, int Y3); 调用RoundRect可以使用画笔画出一个圆角的矩形,并且用刷子进行填充。矩形的边由点(x1, y1)、点(x2,y1)、点(x2,y2)和点(x1,y2)确定。矩形的角被修剪以形成圆的外观。画一个椭圆,使用Ellipse方法。画一个真正的矩形,使用Rectangle方法。
TCanvas::StretchDraw 在由Rect参数指定的矩形区域内,画出由Graphic参数指定的图像。 void __fastcall StretchDraw (const Windows::TRect& Rect, TGraphic* Graphic); 调用StretchDraw在画布上画出一个图像,以便使图像与指定的矩形区域相适应。StretchDraw过程调用图像的Draw方法。图像决定了如何使图像与矩形区域相适应。这可能包括放大或者缩小比例。为了使图像能够按其原先尺寸画出,应使用Draw方法。 图像可以是点位图、图标或者位图文件。如果图像是TBitmap对象,点位图使用CopyMode属性的数值画出。
TCanvas::TCanvas 创建一个TCanvas对象的实例。 __fastcall TCanvas(void); 不要直接调用TCanvas构造函数,用new来实例化一个TCanvas对象。 TCanvas为TCanvas的实例分配内存,并且为Font、Brush和Pen属性创建TFont、TBrush和TPen对象。TCanvas还将CopyMode方法初始化为cmSrcCopy。
TCanvas::TextExtent 返回以当前字体表示的字符串的像素宽度和像素高度。 tagSIZE __fastcall TextExtent(const System::AnsiString Text) ; 使用TextExtent 可以确定字符串在图片上占用的空间。在图片上的诸如线条、框架以及文本的附加线等单元被放在适当的位置,以容纳文本大小。仅检查文本高度,调用 TextHeight 方法。仅检查文本的宽度,调用TextWidth方法。
TCanvas::TextHeight 返回以当前字体表示的字符串的像素高度。 int __fastcall TextHeight(const system::AnsiString Text ); 使用TextHeight可以确定字符串在图片上占用的高度。在图片上的诸如线条、框架以及文本的附加线等单元被放在适当的位置,以容纳文本的高度。TextHeight 函数返回与TextExtent(Text )::cy 相同的数值。
TCanvas::TextOut 在画布上从点(x,y)处开始输出一个字符串,同时将画笔位置修改为字符串的结束位置。 void __fastcsll TextOut( int X, int Y, const System::AnsiString text ) ; 使用TextOut 可以向画布上输出一个字符串。按字体的当前数值输出字符串。使用 TextExtent 能够确定出文本在图片上的占用空间。为了输出仅与剪切矩形区域相适应的文本,应使用权TextRect 方法 。
TCanvas::TextRect 在一个剪切矩形区域内输出一个字符串。 void __fastcall TextRect(const Windows::TEect& Rect,int X,int Y,const System::AnsiString Text); 使用TextRect可以在一个限制的矩形区域内输出一个字符串。字符串落在由Rect 参数指定的矩形区域外的任何部分将被剪切且不显示。文本的左上角位于点(X,Y) 。
TCanvas::TextWidth 返回以当前字体表示的字符串的像素宽度。 int __fastcall TextWidth(const system::AnsiString Text); 使用TExtWidth 可以确定字符串在图片上占用的长度。TextWidth 函数表明给出的字符串是否与可用空间相适应。在图片上的诸如线条、框架以及文本有附加线等单元被放在适当的位置,以容纳文本的宽度,Textwidth返回与TextExtent(Text)::cx相同的数值。
TCanvas::TryLock(void); 除非调用了 UnLock 方法,否则调用 TryLock 可以避免其他线条在画布表面上输出。调用Lock方法需要配套使用,每调用一次 Lock 方法必须一后面调用 UnLock 方法相匹配。如果画布没有锁定,那么对TryLock函数的调用仅需与调用一次UnLock方法相匹配。如果画布是开启的,调用TryLock函数将锁守画布,将LockCount 属性值设为1、返回True 值。如果画布被锁定,调用TryLock 函数不产生任何变化,返回False值。 在试图改变画布之前,调用 TryLock 函数可能妨碍由 Lock 和 UnLock 平共处成对调用方法保护的其他代码的执行。
TCancas::__fastcall Unlock(void); 使 LockCount 属性值减少,并且允许其他线条输出直至LockCount属性值为0。 void __fastcall UnLock(void) ; 在以调用 Lock 方法开始的临界区的结尾处调用 UnLock 过程。每一个对 Lock方法的调用,必须与调用 UnLock 方法相匹配。
TCanvas::OnChange 当画布上的图像刚发生变化时,OnChange事件发生。 __property Classes::TNotifyEvent OnChange = {read =FOnChange, write = FOnChange }; 每当画布上的图像发生变化时,写OnChange事件处理程序以执行特定的行为。应用程序调用TCanvas对象的一个作图方法时,引起下列变化: ·产生一个OnChanging事件。 ·调用TCanvas方法,使图像发生变化。 ·产生一个OnChange事件。 OnChange事件是在图像产生变化时产生,而不是画布属性产生变化时产生。应用程序中对Font属性Brush属性和Pen属性的变化,可以通过设定OnChange事件处理程序以产生相应的TFont对象、TBrush 对象和TPen对象。然而,TCanvas对象为这些对象设定了其自身的OnChange事件处理程序。在指定这些对象的OnChange事件处理程序之前,首先读出现在的事件处理程序。使用读出的数值。从新事件处理程序调用TCanvas对象的事件处理程序。
TCanvas ::OnChanging 当画布上的图像刚要发生变化时,OnChanging事件发生。 __propenty CIasses::TNotifyEvent OnChanging = {read =FOnChanging, write = RonXhanging}; 在画布上的图像发生变化之前,写OnChanging事件处理程序以执行特定的行为。当应用程序调用TCanvas对象的一个作图方法时,引起下列变化: ·一个OnChanging事件发生。 ·调用TCanvas方法,使图像发生变化。 ·一个OnChange事件发生。
 
2/2 首页 上一页 1 2 |