將控制項畫成圓角的效果 Delphi

2021-06-22 14:41:05 字數 745 閱讀 7686

最近在做乙個delphi的專案,常常要設計軟體的介面,需要將控制項畫成圓角矩形。在delphi中將控制項畫成圓角效果,可使用createroundrectrgn函式。在此寫了乙個通用的函式,只要在用到改變控制項效果的地方,呼叫就ok了,函式如下:

procedure tfrmtest.roundcontrol(control: twincontrol;arc1:integer;arc2:integer);

varr: 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一樣。

cell圓角效果的繪製

圓角的cell,之前ios 6的時候是這種的 擬物 ios 7 扁平化 之後就進行了修改!主要的實現在tableview的 方法中 void tableview willdisplaycell forrowatindexpath 繪製table view cell 的背景view。下面的 你可以直接...

邊框圓角效果的原理

border radius none length none 預設值,無圓角。length 由長度和單位組成,不可為負值。若length只有乙個引數值,那麼圓角的水平半徑與垂直半徑都為這個引數值。若length有兩個引數值,那麼第乙個引數值表示圓角的水平半徑,第二個引數值表示圓角的垂直半徑。css程...

控制項的區域性圓角問題

乙個button或者label,只要右邊的兩個角圓角,或者只要乙個圓角。該怎麼辦呢?這就需要圖層蒙版來幫助我們了 cgrect rect cgrectmake 0,0,100,50 cgsize radio cgsizemake 5,5 圓角尺寸 uirectcorner corner uirect...