知识大全 巧妙用Delphi设计多边形窗体

Posted

篇首语:仰天大笑出门去,我辈岂是蓬蒿人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 巧妙用Delphi设计多边形窗体相关的知识,希望对你有一定的参考价值。

巧妙用Delphi设计多边形窗体  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

本文将介绍如何利用Windows提供的制作界面函数制作一个多边形窗体     制作多边形窗体的关键在于设定多边形的区域 并根据这个指定的区域改变窗体的形状 Windows的CreatePolygonRgn和SetWindowRgn函数可以解决这两个难点     利用以下代码即可将窗体设置为一个五边形     procedure TForm FormCreate(Sender: TObject);  var  pt: array [ ] of TPoint;  m_rgn: HRGN;  begin  pt[ ] x:=self Width div ;  pt[ ] y:= ;  pt[ ] x:= ;  pt[ ] y:=self Height div ;  pt[ ] x:=self Width div ;  pt[ ] y:=self Height;  pt[ ] x:=self Width;  pt[ ] y:=self Height div ;  pt[ ] x:=self Width;  pt[ ] y:= ;  m_rgn:=CreatePolygonRgn(pt WINDING);  SetWindowRgn(self Handle m_rgn TRUE);  end;    该程序首先定义了一个TPoint类型的数组pt 在其中存储了一个五边形的数据 然后使用CreatePolygonRgn函数将这个五边形转换成为一个区域 最后使用SetWindowRgn函数 根据五边形指定的区域改变窗体的形状     程序代码如下     unit Unit ;  interface    uses  Windows Messages SysUtils Variants Classes Graphics Controls Forms   Dialogs;    type    TForm = class(TForm)  procedure FormCreate(Sender: TObject);  private   Private declarations   public   Public declarations   end;    var  Form : TForm ;  implementation  $R * dfm    procedure TForm FormCreate(Sender: TObject);  var  pt: array [ ] of TPoint;  m_rgn: HRGN;  begin  pt[ ] x:=self Width div ;  pt[ ] y:= ;  pt[ ] x:= ;  pt[ ] y:=self Height div ;  pt[ ] x:=self Width div ;  pt[ ] y:=self Height;  pt[ ] x:=self Width;  pt[ ] y:=self Height div ;  pt[ ] x:=self Width;  pt[ ] y:= ;  m_rgn:=CreatePolygonRgn(pt WINDING);  SetWindowRgn(self Handle m_rgn TRUE);  end;  end     保存文件 然后按F 键运行程序 结果如图 所示    >   >    制作多边形窗体的方法并不止本实例所介绍的一种 后面还会涉及到如何制作更为复杂的窗体 希望读者多加体会 制作出更加有个性的窗体 cha138/Article/program/Delphi/201311/8430

相关参考

知识大全 Delphi学堂之绑架窗体之Delphi版

Delphi学堂之绑架窗体之Delphi版  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!绑架窗体顾

知识大全 用VB.NET设计各种形状的窗体界面一

用VB.NET设计各种形状的窗体界面一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  窗体是程序

知识大全 用VB.NET设计各种形状的窗体界面二

用VB.NET设计各种形状的窗体界面二  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    结合上

知识大全 如何使用Delphi实现无边界窗体的移动

如何使用Delphi实现无边界窗体的移动  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在用De

知识大全 在Delphi中巧改窗体文件实现控件数组化

在Delphi中巧改窗体文件实现控件数组化  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 自定义事件实现不同窗体间的通讯Delphi篇

自定义事件实现不同窗体间的通讯Delphi篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!要实现子

知识大全 在Web窗体设计器中未能加载该文件

在Web窗体设计器中未能加载该文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用visual

知识大全 用Delphi设计循环播放声音文件程序

用Delphi设计循环播放声音文件程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 用Delphi2005学设计模式之工厂方法篇

用Delphi2005学设计模式之工厂方法篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本文完成

知识大全 用Delphi2005学设计模式之简单工厂篇

用Delphi2005学设计模式之简单工厂篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!工厂模式