设为首页收藏本站

Delphi乐园 开发者的家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2623|回复: 2

Delphi乐园 WinAPI: EqualRect、EqualSid、EqualPrefixSid - 判断一个矩形( [复制链接]

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2014-4-23 19:02:09
  • 签到天数: 42 天

    [LV.5]常住居民I

    金钱
    67776
    13436
    0
    在线时间
    25 小时
    阅读权限
    10
    精华
    0
    积分
    0
    UID
    2050
    发表于 2012-4-17 00:01:23 |显示全部楼层
    分享到:
    unit Unit1;/ F+ d( Z8 g7 U1 U" W$ S, |

    3 ?$ w* p. R8 t  r) ]" c9 n4 einterface
    5 P/ r1 `6 z1 ?) {  P( o3 h0 y9 P0 k1 ^6 j
    uses
    6 d) M9 h" R1 e9 t$ h, _! R  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    : S9 c/ R% @. R; X0 w  Dialogs, StdCtrls;9 F, L6 c# B% O$ N7 O' C
    8 r& f7 B- v" J* \) d6 k8 J
    type
    ! M. [, X9 V) ^& X' K* M3 J6 F; t  TForm1 = class(TForm)
    ' F% L4 p! W- e+ w6 x! y    Button1: TButton;
    & R9 s: x# |6 w' {2 U! _    Button2: TButton;( r9 c! ^8 o' B" j8 R
        Button3: TButton;
      b2 m1 |# x/ D! u. _    procedure Button1Click(Sender: TObject);, ^& H  E# m: D0 q, }. r
        procedure Button2Click(Sender: TObject);; n: a0 R% I8 U4 T: n% D
        procedure Button3Click(Sender: TObject);
    + p% H& K5 h2 J. W6 v  end;
    * N% B$ Z7 O& S) f% E5 h5 t3 S; X# \6 K
    var1 R( i/ i; F/ i& d0 T
      Form1: TForm1;( h8 R/ s0 _2 d$ ^( E1 g* z% B

    ! `! d# W3 m5 J# N  Cimplementation
    + J- T9 q* M) Q2 r3 f; B. Z9 o6 s0 {" C0 Z+ [& {' R0 `
    {$R *.dfm}) N; o9 A; Y$ `0 q$ ?6 n
    2 ]( g1 v) ]3 M( W9 ]4 V2 W
    var
    1 W! z, e& T  h* z/ Q* ?) I! ^: X  R1: TRect = (Left:20; Top:20; Right:20; Bottom:20);
    + x0 |+ ?- [* x% b  R2: TRect = (Left:20; Top:20; Right:20; Bottom:20);
    9 Q% N( v( _+ W8 @" V1 t! u& C. A1 ~  r/ n* A, K
    //EqualRect6 h4 z" C% N6 U. M' n4 }' T
    procedure TForm1.Button1Click(Sender: TObject);- Q" a: u9 X' O
    var2 |& o  e* Q" ?7 \1 C# I) ]7 r* C
      s1,s2: string;5 X1 K2 l! q; `/ P3 ]' k1 r* G
    begin
    3 c/ n0 }' L, e, y. q* Z  ShowMessage(BoolToStr(EqualRect(R1,R2), True));  {True}' L* Q( S$ c4 C# s+ N
    ' `' ]- U' P7 h  c3 i. G
      OffsetRect(R2, 10, 10);, a  N) l9 t0 ]4 V; y/ p
      ShowMessage(BoolToStr(EqualRect(R1,R2), True));  {False}
      O" _- [+ Y1 y+ S; I# uend;' _+ C: E4 i/ n& ]8 V; _, C; g
    , k- e2 d- [7 ~
    //EqualSid: 它可用于判断所有结构; EqualRect 是专用于 TRect 的.6 o6 ~7 t8 M1 r0 g, e
    procedure TForm1.Button2Click(Sender: TObject);
    & K% |" H& q: E( _9 A4 I0 Mbegin
    . I: R0 Q6 P5 n& }2 \  ShowMessage(BoolToStr(EqualSid(@R1,@R2), True)); {True}
    ( T) g! n# k" M) D) t5 D* m9 |, E7 J# e  {9 {0 C
      OffsetRect(R2, 10, 10);
    % V% g  S5 y. ~/ }  ShowMessage(BoolToStr(EqualSid(@R1,@R2), True)); {False}
    ) ~0 ?* w$ `  m. z, o0 yend;
    0 d# k# ]- X! ~) y  X( ^% Y
    ( l# \4 Y: X1 Z' e//EqualPrefixSid: 它和 EqualSid 的用法一样, 可能是适用于和服务器联系的.
    0 a  b' G3 x+ s4 o) N. M) N
    procedure TForm1.Button3Click(Sender: TObject);
    9 e/ _, t# b. m& @/ ]* qbegin/ G+ E+ m. {- e1 P- G9 ]4 F! {; a
      ShowMessage(BoolToStr(EqualPrefixSid(@R1,@R2), True)); {True}
    ' n2 j2 F" y& A  K" k3 `% O( u# n: L4 h1 ?4 q5 c
      OffsetRect(R2, 10, 10);
    ( C+ y  K0 M, n, }: z, @  ShowMessage(BoolToStr(EqualPrefixSid(@R1,@R2), True)); {False}
    ( f( P, n1 T% n6 F6 K2 P' r- D, aend;
    $ h9 n3 x, F) L
    ( b' ]- u4 Y+ W" r: f: G- dend.
    & U# Y' s' W  D- x* m8 o! \( _1 \/ m

    2 X* |+ e' Z3 R. }4 A 该贴已经同步到 youqingxue521的微博
    啊啊啊啊啊啊啊啊啊啊啊
    猪猪昌寝 该用户已被删除
    发表于 2012-4-17 14:19:40 |显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    delphi乐园微信公众号

    手机版|Delphi乐园 ( 冀ICP备11023363号-7 )    

    GMT+8, 2016-10-23 02:15

    Powered by Discuz! X2

    © 2001-2011 Comsenz Inc.

    公网安备 14090202000504号

    回顶部