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.
    
  • 相关阅读:
    内置函数二
    内置函数
    【MySQL】纲举目张:打通MySQL架构和业务的任督二脉
    关闭服务器节能模式
    透明大页
    【MySQL】MySQ 8.0启用HugePage
    运维安全之Tripwire
    七字诀,不再憋屈的运维
    利用钉钉机器人发送告警信息
    【MySQL】MySQL 8.0支持utf8mb4
  • 原文地址:https://www.cnblogs.com/del/p/1205183.html
Copyright © 2011-2022 走看看