当前位置: 源码素材网 » Delphi教程 » 详情页

Delphi多边形窗体制作代码

  •   时间:2019-02-13
  • 概述:多边形窗口

本实例介绍如何利用Windows提供的制作界面函数制作一个多边形窗体。按F9键运行程序,会看到如下所示的程序界面:
 

Delphi多边形窗体

Delphi制作多边形窗体的关键在于设定多边形的区域,并根据这个区域改变窗体的形状。Windows的CreatePolygonRgn和SetWindowRgn函数可以解决这两个难点。

以下代码即可将窗体设置为一个五边形:

procedure TForm1.FormCreate(Sender: TObject);
var
    pt: array [0..4] of TPoint;
  m_rgn: HRGN;
begin
pt[0].x:=self.Width div 2;
pt[0].y:=0;
pt[1].x:=0;
pt[1].y:=self.Height div 2;
pt[2].x:=self.Width div 2;
pt[2].y:=self.Height;
pt[3].x:=self.Width;
pt[3].y:=self.Height div 2;
  pt[4].x:=self.Width;
  pt[4].y:=0;
m_rgn:=CreatePolygonRgn(pt,5,WINDING);
SetWindowRgn(self.Handle,m_rgn,TRUE);
end;

该程序首先定义了一个TPoint类型的数组pt,在其中存储了一个五边形的数据。然后使用CreatePolygonRgn函数将这个五边形转换成为一个区域,最后使用SetWindowRgn函数,根据五边形指定的区域改变窗体的形状。

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
    pt: array [0..4] of TPoint;
  m_rgn: HRGN;
begin
pt[0].x:=self.Width div 2;
pt[0].y:=0;
pt[1].x:=0;
pt[1].y:=self.Height div 2;
pt[2].x:=self.Width div 2;
pt[2].y:=self.Height;
pt[3].x:=self.Width;
pt[3].y:=self.Height div 2;
  pt[4].x:=self.Width;
  pt[4].y:=0;
m_rgn:=CreatePolygonRgn(pt,5,WINDING);
SetWindowRgn(self.Handle,m_rgn,TRUE);
end;
end.

  制作多边形窗体的方法并不止本实例所介绍的一种,后面还会涉及到如何制作更为复杂的窗体,希望读者多加体会,制作出更加有个性的窗体。

    相关声明:

      若“Delphi多边形窗体制作代码”有损您的权益,请告之我们删除内容。
      部分文章来源于网络,版权归原作者所有。