WinAPI:EqualRect、EqualSid、EqualPrefixSid-長方形(または他の構造)が等しいかどうかを判断する

1360 ワード



unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;



type

  TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



var

  R1: TRect = (Left:20; Top:20; Right:20; Bottom:20);

  R2: TRect = (Left:20; Top:20; Right:20; Bottom:20);



//EqualRect

procedure TForm1.Button1Click(Sender: TObject);

var

  s1,s2: string;

begin

  ShowMessage(BoolToStr(EqualRect(R1,R2), True));  {True}



  OffsetRect(R2, 10, 10);

  ShowMessage(BoolToStr(EqualRect(R1,R2), True));  {False}

end;



//EqualSid:  ; EqualRect   TRect  .

procedure TForm1.Button2Click(Sender: TObject);

begin

  ShowMessage(BoolToStr(EqualSid(@R1,@R2), True)); {True}



  OffsetRect(R2, 10, 10);

  ShowMessage(BoolToStr(EqualSid(@R1,@R2), True)); {False}

end;



//EqualPrefixSid:   EqualSid  ,  .

procedure TForm1.Button3Click(Sender: TObject);

begin

  ShowMessage(BoolToStr(EqualPrefixSid(@R1,@R2), True)); {True}



  OffsetRect(R2, 10, 10);

  ShowMessage(BoolToStr(EqualPrefixSid(@R1,@R2), True)); {False}

end;



end.