VclSkin的SpeedButton自动显示问题

使用VclSkin后在窗体上放个SpeedButton按钮,把按钮的Visible属性设置为False,在程序运行时改变按钮的Caption属性,按钮又会显示出来,虽然不能点击,可是看着别扭.下边为解决方法:

打开VclSkin代码的WinSubClass单元文件,修改如下:

procedure TSkinSpeedButton.DrawSpeedbtn( acanvas:Tcanvas; rc:TRect);
var acolor:Tcolor;
     i,n,j:integer;
     r1,TextBounds:Trect;
     TextPos: TPoint;
     GlyphPos, ClientSize, GlyphSize, TextSize: TPoint;
     TotalSize: TPoint;
     DrawStyle: Longint;
     Layout: TButtonLayout;
     NumGlyphs,margin,spacing :integer;
     bglyph: Tbitmap;
     s:string;
     font:Tfont;
     flat:boolean;
     enable:boolean;
begin
     if fsd.button=nil then exit;
     if fsd.Button.map.empty then exit;

     // 修改不可见 SpeedButton Caption 属性时会显示按钮 2009-05-12
     s:=lowercase(GetEnumProperty(gcontrol,'Visible'));
     if s = 'false' then exit;
    //添加上面两行代码 修改不可见 SpeedButton Caption 属性时会显示按钮

转载于:https://www.cnblogs.com/lzj1981/archive/2013/05/01/3053360.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值