,Delphi   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,Delphi
您的位置:Yesky > 软件 > 开发者网络 > 正文
用Delphi设计多边形窗体
[文章信息]
作者:
时间:2005-05-08
出处:网弧
责任编辑:方舟
[文章导读]
本文将介绍如何利用Windows提供的制作界面函数制作一个多边形窗体
advertisement
热点推荐
· 图文详解:黑客入侵方式演示
· Java异常处理的陋习展播
· 多媒体系列教程:网页设计制作
· Powerpoint动画演示教程连载
· 光盘刻录手册:禁忌与技巧(下)
[正文]
  本文将介绍如何利用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键运行程序,结果如图1-3所示。


图 程序运行结果

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

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
,Delphi相关内容,Delphi焦点新闻
  • Delphi下利用DDE实现同Word的交互
  • 基于Delphi的接口编程入门
  • 利用Delphi开发旅游景点微机售票系统
  • TXMLDocument类:Delphi7的XML利器
  • 基于Delphi的Socket I/O模型全接触
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,DelphiAdvertisement

    天极无线
    经典名曲 华语流行 欧美风情 人声音效 原声大碟
    你好周杰伦-安又琪
    直线-张韶涵
    天边-张韶涵
    看我72变-蔡依林
    乱世佳人-Twins
    全世界下雨-张娜拉
    我们的爱-飞儿乐队
    分手快乐-梁静茹
    爱在西元前-周杰伦
    三万英尺-迪克牛仔
    爱如潮水-张信哲
    爱情宣言-齐秦
    寻找玛依拉-刀郎
    驼铃-刀郎
    老鼠爱大米-杨臣刚
    功夫主题曲
    仙剑主题曲杀破狼
    天下无贼片尾曲
    冲动的惩罚-刀郎
    情人-刀郎
    爱情-莫文蔚
    挪威的森林-伍佰
    奔跑 - 羽泉
    因为爱 - 羽泉
      ·时尚女人圈
    ·经典影视专集
    ·美女秀场
    ·美丽大自然专题
    ·流行金曲
    ·科幻电影特区
    | 最新推荐
    ·你好周杰伦
    ·杀破狼
    ·寻找玛依拉
    ·孤单公园
    ·男人海洋
    | 魔术铃声
    ·少女丰胸
    ·少妇丰胸
    ·减肥魔铃
    ·增高魔铃
    ·美容魔铃

    今日报价查询 更多报价