文档章节

WinAPI: EqualRect、EqualSid、EqualPrefixSid - 判断一个矩形(或其他结构)是否相等

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 204
阅读 2
收藏 0
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.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/05/23/1205858.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
iOS(CGGeometry)几何类方法总结

iOS开发几何类方法总结 CGGeometry.h文件是用C语言实现的一个封装了许多常用几何方法的文件。 一、几个常用结构体 struct CGPoint { CGFloat x; CGFloat y; }; 定义一个点,设置x坐标和y坐标...

珲少
2015/04/27
0
3
为什么覆盖equals时也要覆盖hashCode方法

看了《effective java》第九条。特此对equals方法和hashCode方法做此总结 现在假设我们有一个矩形类Rectangle public class Rectangle { } 先回顾下我们为什么要覆盖equals方法呢?现在我们有...

gkmmg
05/13
0
0
Delphi 常用API 函数(好多都没见过)

AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconicWindows 排列一个父窗口的最小化子窗口 AttachThread...

dillonxiao
09/19
0
0
WIN32_API函数大全

Windows API函数大全 API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCa...

姿势喵
02/06
0
0
iOS常用CGRect的交错,边缘,中心的检测

iOS常用CGRect的交错,边缘,中心的检测 判断给定的点是否被一个CGRect包含,可以用CGRectContainsPoint函数 BOOL contains = CGRectContainsPoint(CGRect rect, CGPoint point); 判断一个CGRec...

SimonXun
2016/03/08
10
0

没有更多内容

加载失败,请刷新页面

加载更多

Android JNI 开发系列(九)JNI调用Java的静态方法&实例方法

JNI调用Java的静态方法&实例方法 package org.professor.jni.bean;import android.util.Log;/** * Created by peng on 2018/10/11. */ public class Person { /*C/CPP 调用......

蔡小鹏
16分钟前
1
0
Flink 原理与实现:Window 机制

Flink 认为 Batch 是 Streaming 的一个特例,所以 Flink 底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从 Streaming 到 Batch 的一个桥梁。Flink 提供了非常完...

xtof
18分钟前
1
0
Fabric.js高级点的教程2--添加表格的方法

有时候我们先在画布上画一个表格类似一下设计软件那种。一方面作为参考线,一方面给人一直专业的赶脚。。。 先贴上一段网上(不是我写的)可以运行的代码 https://codepen.io/rodan8888/pen/e...

xmqywx
19分钟前
1
0
Java中Lambda表达式的使用

Java中Lambda表达式的使用 简介 (译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人...

DemonsI
22分钟前
2
0
深入理解Java中停止线程

一.停止线程会带来什么? 对于单线程中,停止单线程就是直接使用关键字return或者break,但是在停止多线程时是让线程在完成任务前去开启另外一条线程,必须放弃当前任务,而这个过程是不可预...

Ala6
31分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部