Delphi XE2의FireMonkey 입문(10) - 상용 구조Tpoint,TpointF,TSmallPoint,Tsize,Trect,TrectF 및 관련 방법

4488 단어 Delphi
그것들은 모두 구조이고TpointF,TrectF는 새로 추가되었고 다른 것도 모두 업그레이드되었다.현재 모두 풍부한 방법과 편리한 연산자 재부팅을 가지고 있다.관련 공통 함수도 있습니다.
이 그룹의 내용은 모두 System에서 온 것이다.Types 단원, 즉 FM에서만 사용할 수 있는 것이 아니다.
TPoint:

Create();      //
{     }
Equal;         // =
NotEqual;      // <>
Add;           // +
Subtract;      // -
Implicit;      //    TSmallPoint       TPoint
Explicit;      //        TSmallPoint
{  }
Distance();    //          
SetLocation(); //    
Offset();      //   
Add();         //  
Subtract();    //  
IsZero();      //     [0,0]  
{    }
X,Y: Longint;

{    }
procedure TForm1.Button1Click(Sender: TObject);
var
  p1,p2,p3: TPoint;
begin
  p1 := TPoint.Create(11, 22);
  p2.Create(11, 11);
  p3 := p1 + p2;
  ShowMessageFmt('%d,%d', [p3.X, p3.Y]); //22,33

  p3.SetLocation(0, 0);
  p3 := p1.Add(p2);
  ShowMessageFmt('%d,%d', [p3.X, p3.Y]); //22,33
end;
TPointF: TPoint보다 세 가지 더 많은 방법:

Ceiling();  //
Truncate(); //
Round();    //

procedure TForm1.Button1Click(Sender: TObject);
var
  pf: TPointF;
  p1,p2,p3: TPoint;
begin
  pf.Create(1.4, 1.6);
  p1 := pf.Ceiling;
  p2 := pf.Truncate;
  p3 := pf.Round;
  ShowMessageFmt('%d,%d  %d,%d  %d,%d', [p1.X, p1.Y, p2.X, p2.Y, p3.X, p3.Y]); //2,2  1,1  1,2
end;
TSmallPoint: 적게 쓰고 멤버도 적습니다.

Create();   //
{     }
Equal;      // =
NotEqual;   // <>
Add;        // +
Subtract;   // -
{  }
Add();      //  
Subtract(); //  
Distance(); //       
IsZero();   //     [0,0]  
{    }
X,Y: SmallInt;
TSize:

Create();   //
{     }
Equal;      // =
NotEqual;   // <>
Add;        // +
Subtract;   // -
{  }
Add();      //  
Subtract(); //  
Distance(); //       
IsZero();   //     [0,0]  
{  }
Width;      //
Height;     //
{    }
cx,cy: Single;
TRect:

Create();         //            ;    NormalizeRect()   
{     }
Equal;            // =
NotEqual;         // <>
Add;              // + (  )
Multiply;         // * (  )
{   }
Empty;            //       TRect   ;   
Intersect;        //           
Union;            //           
{  }
NormalizeRect();  //     ;   Top > Bottom   Left > Right  ,          .
IsEmpty();        //    
Contains();       //            
IntersectsWith(); //           
Intersect();      //           
Union();          //           
Offset();         //  
SetLocation();    //     
Inflate();        //    (     )
CenterPoint();    //     
SplitRect();      //  , TSplitRectType   (Left、Top、Right、Bottom)        
{  }
Width: Integer;   //        
Height: Integer;  //
Size: TSize;      //
Location: TPoint; //
{    ,    }
(Left, Top, Right, Bottom: Longint)   (TopLeft, BottomRight: TPoint)
TRectF: TRect보다 TRect로 변환할 때 소수점 취사에 관한 세 가지 방법만 더 많습니다.

Ceiling();  //
Truncate(); //
Round();    //
관련 공통 함수 및 프로세스:

{ function }
EqualRect();      //   TRect   TRectF     
Rect();           //   TRect
RectF();          //   TRectF
NormalizeRectF(); //  TPointF          TRectF
NormalizeRect();  //    TRectF
RectWidth();      //      
RectHeight();     //      
RectCenter();     //             
Bounds();         //    、 、     
Point();          //   TPoint
PointF();         //   TPointF
MinPoint();       //         (      Y)
ScalePoint();     //        
SmallPoint();     //   TSmallPoint
PtInRect();       //           
PtInCircle();     //                 
IntersectRect();  //         
UnionRect();      //     
IsRectEmpty();    //        
OffsetRect();     //    
CenterPoint();    //       
SplitRect();      //    
CenteredRect();   //             ;         
IntersectRectF(); //        
UnionRectF();     //        
{ procedure }
MultiplyRect();   //      
InflateRect();    //      

좋은 웹페이지 즐겨찾기