发现原来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中的不规则窗体的实现
最新推荐文章于 2016-05-17 16:21:12 发布