在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近在做一个Delphi的项目,常常要设计软件的界面,需要将控件画成圆角矩形。在Delphi中将控件画成圆角效果,可使用CreateRoundRectRgn函数。在此写了一个通用的函数,只要在用到改变控件效果的地方,调用就OK了,函数如下:
procedure TfrmTest.RoundControl(Control: TWinControl;arc1:Integer;arc2:Integer); var R: TRect; Rgn: HRGN; begin with Control do begin R :=Control.ClientRect; rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, arc1, arc2); Perform(EM_GETRECT, 0, lParam(@r)); InflateRect(r, -5, -5); Perform(EM_SETRECTNP, 0, lParam(@r)); SetWindowRgn(Control.Handle, rgn, True); Invalidate; end; end; 只要在调用时传入控件的name和两个弧度就可以设置控件的圆角效果。 同时,要去掉TPanel控件的边线效果,只需将其BevelOuter设置成bvNone即可,其他有边线效果的控件设置无边线效果同TPanel一样。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论