zoukankan      html  css  js  c++  java
  • WinAPI: IntersectRect、SubtractRect、UnionRect 用两个矩形合成一个新的矩形

    本例效果图:


    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        Button4: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    {定义两个矩形常量}
    const
      R1: TRect = (Left:20; Top:30; Right:160; Bottom:100);
      R2: TRect = (Left:100; Top:10; Right:180; Bottom:120);
    
    {初始化按钮显示}
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Button1.Caption := '两个原始矩形';
      Button2.Caption := '相交';
      Button3.Caption := '减去';
      Button4.Caption := '联合';
    end;
    
    {画出两个原始矩形}
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Refresh;
      Canvas.Brush.Color := clOlive;
      Canvas.Rectangle(R2);
      Canvas.Brush.Color := clBlue;
      Canvas.Rectangle(R1);
    end;
    
    {相交: IntersectRect}
    procedure TForm1.Button2Click(Sender: TObject);
    var
      R: TRect;
    begin
      Refresh;
      IntersectRect(R, R1, R2);
      Canvas.Brush.Color := clRed;
      Canvas.Rectangle(R);
    end;
    
    {减去: SubtractRect}
    procedure TForm1.Button3Click(Sender: TObject);
    var
      R: TRect;
    begin
      Refresh;
      SubtractRect(R, R1, R2);
      Canvas.Brush.Color := clRed;
      Canvas.Rectangle(R);
    end;
    
    {联合: UnionRect}
    procedure TForm1.Button4Click(Sender: TObject);
    var
      R: TRect;
    begin
      Refresh;
      UnionRect(R, R1, R2);
      Canvas.Brush.Color := clRed;
      Canvas.Rectangle(R);
    end;
    
    end.
    
  • 相关阅读:
    集合
    字典
    元组
    列表
    数字类型和字符串类型
    Python 数据类型
    jq的一点点
    常用到jq的ajax
    上传
    下载
  • 原文地址:https://www.cnblogs.com/del/p/1205183.html
Copyright © 2011-2022 走看看