也说说c++builder中的不规则窗体的实现

原创 2002年12月10日 09:09:00

  最近看了《C++Builder中不规则窗体的快速显示》2000-09-07· 陶志才·yesky(http://www.powerba.com/develop/bcb/article/20000916007.htm),自己去做了,发现原来它上面的方法不是最简便的。所以在这里和大家讨论一下。

  首先上文中的内容我就不再重复了。我要改变的关键是他选取图片非白色区域的方法十分繁琐。而且我曾经试过几张图,都会变得不伦不类的,我也很难说出为什么。在我迷茫的时候我发现原来c++ builder6有自己的一些方法可以非常轻易的完成不规则窗体的设计。下面是我的代码:

void __fastcall TForm1::FormCreate(TObject *Sender)
{
   Form1->Color=clWhite;
   Form1->TransparentColorValue=clWhite;
   Form1->TransparentColor=true;
   Form1->BorderStyle=bsNone;

/*
Image1->Transparent=true;
//这一行可要可不要,没有什么作用

//如果窗体上除了图片就没有别的可以显示的东西,上面的就已经可以了。如果有别的东西就可以使用下面这段代码。
HRGN WndRgn,TempRgn;
WndRgn=CreateRectRgn(0,30,Image1->Width,Image1->Height);
//设定矩形区域的API
//显示不规则窗体
SetWindowRgn(Handle,WndRgn,true);
//SetWindowPos(Handle,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);

//去除窗体本来颜色。会出问题,这是为什么呢?希望各位大侠指点。
Form1->Color=clBtnFace;
Form1->TransparentColorValue=clBtnFace;

//如果是将以上代码防在butten里面,做出来的窗体易懂的时候有边缘白线这是为什么?
*/

这样我们简直可以完全不用书写代码只是更改窗体属性就完成不规则窗体的设计。而且这样应该更加高效。

也说说c++builder中的不规则窗体的实现

发现原来c++ builder6有自己的一些方法可以非常轻易的完成不规则窗体的设计。下面是我的代码:  void __fastcall TForm1::FormCreate(TObject *Send...
  • zdfcumt
  • zdfcumt
  • 2010年02月25日 17:35
  • 722

WPF实现不规则窗体(C#)

见到一些游戏的客户端窗口,形状是不规则的,一直觉得很炫。就想用winform做一个玩下,思路就是:去掉标题栏,用一张透明背景色的图片作为Form的背景。可是在实现的过程中我却悲愤的发现,winform...
  • painstaker
  • painstaker
  • 2010年09月07日 15:16
  • 5189

QT5自定义界面(规则与不规则窗体)

QT5自定义界面,规则与不规则窗体
  • CSDN_SXL
  • CSDN_SXL
  • 2016年01月26日 13:42
  • 6928

[QT编程]QT实现不规则窗体和透明窗体

[QT编程]QT实现不规则窗体和透明窗体 不规则窗体的实现有两种方式: 一种是设置窗体的掩码图像; 另一种是设置窗体背景透明,然后重写其绘图函数,将背景图绘制上去。   第一种方式: ...
  • oMingZi12345678
  • oMingZi12345678
  • 2013年10月18日 16:16
  • 1463

c++ builder 俩种不同风格的窗体

菜单‘File“-》”New“-》 VCL Forms Application -C++ Builder   这个控件是黑色边框,白色中间色 Form-C++ Builder  这个控件颜色和窗体颜色...
  • tajon1226
  • tajon1226
  • 2015年06月18日 10:15
  • 409

Java实现不规则窗体

第一篇博客都不知道有没有人会看。。。。。。。 首先上一张效果图吧: 原理很简单,就是新建JLabel的时候重写一下JLabel的paint方法,然后对窗体设置一下就行,上代码: import com....
  • qq_26971803
  • qq_26971803
  • 2015年11月15日 21:13
  • 989

C++Builder中不规则窗体的快速显示

C++Builder中不规则窗体的快速显示陶志才  传统的WINDOWS应用软件界面给人的感觉总是千篇一律的方方正正的窗体,看的时间长了难免会有些厌烦,总是希望能见到些不同一般的软件界面。如今,相当数...
  • cool222
  • cool222
  • 2005年01月03日 16:05
  • 826

C# 制作不规则窗体的几种解决方案

制作不规则窗体,本例采用图片背景形式,这也是通常的思路。以前也做过类似的案例,但都不深入,这次项目中需要用到,顺便理了下思路,找到另一种比较简单的方法,下面介绍下三种解决方案。   第一种:也是...
  • dongzhe8
  • dongzhe8
  • 2015年12月21日 17:52
  • 854

【实例】Qt创建不规则窗体

Qt创建不规则窗体 文档名称 Qt创建不规则窗体 创建时间 2012-9-10 修改时间 2012-9-10 ...
  • imxiangzi
  • imxiangzi
  • 2015年12月28日 22:33
  • 931

java实现不规则窗体

前段时间想弄个不规则窗体,就像游戏启动的那样。于是上网搜了一下,网上说的是用一个com.sun.awt.AWTUtilities类来实现,结果我发现这个类是JDK6里才有的,我用的是JDK1.8,根本...
  • qq_33222871
  • qq_33222871
  • 2016年02月23日 14:28
  • 390
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:也说说c++builder中的不规则窗体的实现
举报原因:
原因补充:

(最多只允许输入30个字)