比如让按钮变成椭圆的,我不想用控件~

解决方案 »

  1.   

    看看合乎你的要求吗?
    让控件的边角圆滑起来?
    show controls with rounded corners?procedure MakeRounded(Control: TWinControl);var  R: TRect;  Rgn: HRGN;begin  with Control do  begin    R := ClientRect;    rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, 20, 20);    Perform(EM_GETRECT, 0, lParam(@r));    InflateRect(r, - 5, - 5);    Perform(EM_SETRECTNP, 0, lParam(@r));    SetWindowRgn(Handle, rgn, True);    Invalidate;  end;end;procedure TForm1.Button1Click(Sender: TObject);begin  // TMemo:  Memo1.BorderStyle := bsNone;  MakeRounded(Memo1);  // TEdit:  Edit2.BorderStyle := bsNone;  MakeRounded(Edit2);  // TPanel:  MakeRounded(Panel1);  // TStaticText:  MakeRounded(StaticText1);  // TForm  Form1.BorderStyle := bsNone;  MakeRounded(Form1);end;
      

  2.   

    API改变组件的外型使用第三方现成的比较容易的