S sntmpl Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-05 #1 我们做的程序都是四四方方的,如何做个界面的角是圆的?没有菜单有等等
H hjy2000 Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-05 #3 搜索一下‘如何做多边型的窗口’,很久以前看到过记不清
花 花 儿 Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-05 #5 不规则窗口,Setwindowsrgn什么的忘了,应该有打错阿。
教 教父 Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-05 #7 这里有创建椭圆窗体的一段代码 procedure TFrmMain.FormCreate(Sender: TObject); var rgn:HRGN; begin rgn:=CreateEllipticRgn(0,0,150,150); SetWindowRgn(self.Handle, rgn, true); end; 更一般的用CreatePolygonRgn代替CreateEllipticRgn就可以做出任意形状的窗体了
这里有创建椭圆窗体的一段代码 procedure TFrmMain.FormCreate(Sender: TObject); var rgn:HRGN; begin rgn:=CreateEllipticRgn(0,0,150,150); SetWindowRgn(self.Handle, rgn, true); end; 更一般的用CreatePolygonRgn代替CreateEllipticRgn就可以做出任意形状的窗体了
H HYDRALISK13 Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-08 #11 教父说的是创造椭圆的窗体,还可以创造出圆角矩形 rgn:=CreateEllipticRgn(0,0,form1.width,form1.height,150,150); 还有一个函数可以创造出特殊窗体,比如最外面是圆形,中间是矩形的, 好象是combinergn吧,记不太清了,有兴趣可以查一下帮助文件的。 rgn3:=combinergn(rgn1,rgn2,Rgn_XOR);//第三个参数好象不对 setwindowrgn(form1.handle,rgn3,true);
教父说的是创造椭圆的窗体,还可以创造出圆角矩形 rgn:=CreateEllipticRgn(0,0,form1.width,form1.height,150,150); 还有一个函数可以创造出特殊窗体,比如最外面是圆形,中间是矩形的, 好象是combinergn吧,记不太清了,有兴趣可以查一下帮助文件的。 rgn3:=combinergn(rgn1,rgn2,Rgn_XOR);//第三个参数好象不对 setwindowrgn(form1.handle,rgn3,true);