通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 程序设计 >> Delphi语言 >> 编程技巧 >> 文章正文
用Delphi设计多边形窗体
责任编辑:ncic   更新日期:2007-4-3

  本文将介绍如何利用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.

  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程