zoukankan      html  css  js  c++  java
  • WinAPI: CreateRectRgn、CreateRectRgnIndirect、FillRgn、FrameRgn 建立矩形区域

    本例效果图:


    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;
    
    type
      TForm1 = class(TForm)
        procedure FormPaint(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.FormPaint(Sender: TObject);
    const
      n = 50;
    var
      Rgn: HRGN;
      x1,y1,x2,y2: Integer;
    begin
      x1 := n;
      y1 := n div 2;
      x2 := ClientWidth - n;
      y2 := ClientHeight - n;
    
      {建立矩形区域}
      Rgn := CreateRectRgn(x1, y1, x2, y2);
      //Rgn := CreateRectRgnIndirect(Rect(x1, y1, x2, y2)); {目的同上一行, 只是参数要一个矩形结构}
    
      {填充区域}
      Canvas.Brush.Color := clSilver;
      Canvas.Brush.Style := bsCross;
      FillRgn(Canvas.Handle, Rgn, Canvas.Brush.Handle);
    
      {绘制区域边界}
      Canvas.Brush.Color := clRed;
      Canvas.Brush.Style := bsSolid;
      FrameRgn(Canvas.Handle, Rgn, Canvas.Brush.Handle, 2, 2);
    
      DeleteObject(Rgn);
    end;
    
    end.
    
  • 相关阅读:
    洛谷P3799 妖梦拼木棒
    bzoj1008 [HNOI2008]越狱
    洛谷P3414 SAC#1
    洛谷P1078 文化之旅
    bzoj1053 [HAOI2007]反素数ant
    洛谷P1588 丢失的牛
    bzoj1085 [SCOI2005]骑士精神
    noip2016 蚯蚓
    noip2016 换教室
    html笔记03:表单
  • 原文地址:https://www.cnblogs.com/del/p/1207668.html
Copyright © 2011-2022 走看看