Delphi用Windows界面函数设计多边形窗体

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 09:48:00 计算机应用能力考试
Delphi用Windows界面函数设计多边形窗体计算机应用能力考试
【网络综合 - 计算机应用能力考试】
制作多边形窗体的关键在于设定多边形的区域,并根据这个指定的区域改变窗体的形状。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.
  保存文件,然后按F9键运行程序计算机应用能力考试