用Delphi设计多边形窗体

用Delphi设计多边形窗体,第1张

用Delphi设计多边形窗体,第2张

本文将介绍如何利用Windows提供的接口函数制作一个多边形窗体。

制作多边形窗体的关键是设置多边形面积,并根据指定的面积改变窗体的形状。Windows的CreatePolygonRgn和SetWindowRgn函数可以解决这两个难点。

使用以下代码将窗体设置为五边形:

程序TForm1。FormCreate(发件人:to object);
var
pt: array [0..4]的TPoint
m _ rgn:HRGN;
begin
pt[0]。x:=自我。宽度div 2;
pt[0]。y:= 0;
pt[1]。x:= 0;
pt[1]。y:=自我。高度div 2;
pt[2]。x:=自我。宽度div 2;
pt[2]。y:=自我。身高;
pt[3]。x:=自我。宽度;
pt[3]。y:=自我。高度div 2;
pt[4]。x:=自我。宽度;
pt[4]。y:= 0;
m _ rgn:= CreatePolygonRgn(pt,5,WINDING);
SetWindowRgn(self。Handle,m_rgn,TRUE);
end;

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

程序代码如下:

unit Unit1
接口

使用
窗口、消息、系统工具、变体、类、图形、控件、窗体、
对话框。

类型

TForm1 = class(TForm)
过程form create(Sender:to object);
私有
{私有声明}
公共
{公共声明}
end;

var
form 1:t form 1;
实现
{$R *。dfm}

程序TForm1。FormCreate(发件人:to object);
var
pt: array [0..4]的TPoint
m _ rgn:HRGN;
begin
pt[0]。x:=自我。宽度div 2;
pt[0]。y:= 0;
pt[1]。x:= 0;
pt[1]。y:=自我。高度div 2;
pt[2]。x:=自我。宽度div 2;
pt[2]。y:=自我。身高;
pt[3]。x:=自我。宽度;
pt[3]。y:=自我。高度div 2;
pt[4]。x:=自我。宽度;
pt[4]。y:= 0;
m _ rgn:= CreatePolygonRgn(pt,5,WINDING);
SetWindowRgn(self。Handle,m_rgn,TRUE);
end;
结束。
保存文件,然后按F9运行程序。结果如图1-3所示。


图程序运行结果

多边形形状的制作方法不仅是本例中介绍的一种,还涉及到如何制作更复杂的形状。希望读者多体验,多做个性化的形式。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 用Delphi设计多边形窗体

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情