zoukankan      html  css  js  c++  java
  • Delphi 的绘图功能[3] 矩形类图形

    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;
        Button5: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure Button5Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    var
      btn: TButton;
    const
      y1 = 10;
      y2 = 80;
    
    
    {先设置画笔画刷}
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Canvas.Pen.Width := 4;
      Canvas.Pen.Color := clRed;
      Canvas.Brush.Color := clWhite;
    end;
    
    
    {给出左上角和右下角的坐标就可以绘制矩形}
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      btn := TButton(Sender);
      Canvas.Rectangle(btn.Left, y1, btn.Left+btn.Width, y2);
    end;
    
    
    {给出一个矩形结构做参数也可以绘制矩形}
    procedure TForm1.Button2Click(Sender: TObject);
    var
      R: TRect; {定义一个矩形结构}
    begin
      btn := TButton(Sender);
      R := Rect(btn.Left, y1, btn.Left+btn.Width, y2);
      Canvas.Rectangle(R);
    end;
    
    
    {绘制圆角矩形; 最后两个参数是设置圆角的}
    procedure TForm1.Button3Click(Sender: TObject);
    begin
      btn := TButton(Sender);
      Canvas.RoundRect(btn.Left, y1, btn.Left+btn.Width, y2, 20,20);
    end;
    
    
    {绘制焦点矩形; 它不受画笔的影响; 它的颜色是和画刷的颜色进行某种运算得来的}
    procedure TForm1.Button4Click(Sender: TObject);
    var
      R: TRect;
    begin
      btn := TButton(Sender);
      R := Rect(btn.Left, y1, btn.Left+btn.Width, y2);
      Canvas.DrawFocusRect(R);
    end;
    
    
    {矩形描边, 用的不是画笔是画刷}
    procedure TForm1.Button5Click(Sender: TObject);
    var
      R: TRect;
    begin
      btn := TButton(Sender);
      R := Rect(btn.Left, y1, btn.Left+btn.Width, y2);
      Canvas.FrameRect(R);
    end;
    
    end.
    
    //效果图:


  • 相关阅读:
    JavaScript 弹出层,背景变暗
    DataGridView常见用法和FAQ汇总
    将visual studio 2005 SP1补丁整合到安装文件
    非常经典的网络蜘蛛示例
    asp.net画曲线图(折线图)
    Asp.net中基类页的设计和使用
    使用 Visual C# .NET 向 Excel 工作簿传输数据
    CSS布局:让页脚始终保持底部的方法
    WinForm开发,窗体显示和窗体传值相关知识总结
    asp.net Urlrewriter在虚拟主机上的使用方法
  • 原文地址:https://www.cnblogs.com/del/p/1070925.html
Copyright © 2011-2022 走看看