使用了BsSkinspeedbutton组件,但是它的enable属性不同时,显示方面没有区别,导致不好判断speedbutton是否处于可用状态。因此,我想动态的装载speedbutton上的图标。既:speedbutton.enable:=true时,其使用图标1,当speedbutton.enable:=false时,使用图标2。
这该怎么实现?

解决方案 »

  1.   

    图片保存在ImageList里面:procedure ChangeImage(bsSBtn:TbsSkinSpeedButton;Image:TImageList);
    var a:TBitmap;
    begin
     if bsSBtn.Enabled then Image.GetBitmap(1,bsSBtn.Glyph)
       else Image.GetBitmap(2,bsSBtn.Glyph);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      bsSkinSpeedButton1.Enabled:=False;
      ChangeImage(bsSkinSpeedButton1,ImageList1);
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      bsSkinSpeedButton1.Enabled:=True;
      ChangeImage(bsSkinSpeedButton1,ImageList1);
    end;
      

  2.   

    感谢liangqingzhi(老之) 。结帖给分