zoukankan      html  css  js  c++  java
  • 将控件画成圆角的效果(Delphi)

     
    最近在做一个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一样。
  • 相关阅读:
    基础练习 数列排序
    入门训练 Fibonacci数列
    入门训练 圆的面积
    入门训练 序列求和
    fzu 2111 Min Number
    入门训练 A+B问题
    历届试题 城市建设
    sort 树 hash 排序
    nyist 676 小明的求助
    快速幂 蒙格马利算法
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/9086684.html
Copyright © 2011-2022 走看看