我用的D7,大家有没有碰到这样的问题啊,最后怎么解决的

解决方案 »

  1.   

    楼主,我想试过了,D7没有这种问题,在Enable后,图标的颜色会变成灰色,可能是因为你的图标的问题吧,图标的颜色和按钮的颜色成为一样的了,所以看不出来了
      

  2.   

    使用IMAGELIST控件,在ENABLE为TRUE的时候是一个图表,为FALSE的时候是另外一个图表就好了。
      

  3.   

    用俩图片一个和按钮一样大小
    另一个长度是按钮4倍其他一样
    procedure SetBitBMP(frm:Tform);
    var
      i:integer;
    begin
      for i:=0 to frm.ComponentCount-1 do
        if (frm.Components[i] is TBitBtn ) then
          if (frm.Components[i]as TBitBtn ).Enabled then
          begin
            (frm.Components[i]as TBitBtn ).NumGlyphs:=1;
            (frm.Components[i]as TBitBtn ).Glyph.LoadFromFile('BitE.bmp');//正常图片
          end
          else begin
            (frm.Components[i]as TBitBtn ).NumGlyphs:=4;
            (frm.Components[i]as TBitBtn ).Glyph.LoadFromFile('BitD.bmp');//4倍长度图片
          end;end;
      

  4.   

    To:pengxuan(网虫先生) 
       当为True的时候当然是看的见的。也不是图标的颜色和按钮的颜色
       我用的图标从网上下载的,都是xp系统里面的ico,看起来很漂亮,所以就成这样
    但我用看来很粗糙的图标,就不会呀。
      

  5.   

    图标是一组的.其中一个用于正常状态的显示,另一个用于Enabled时显示的.看一下你的图标是否是一组
      

  6.   

    你的图标是16位的,这个图标不能用了.换一个把.
    用windows的画图打开这个图标,另存的时候你可以在保存类型的下拉列表中看到,文件是16位的.
      

  7.   

    我想也是图标的问题,你看看borland自己的那些bmp文件都是有两个图标的,
    一个是鲜艳的,另一个是灰色的。我想你的图标只有一部分。
      

  8.   

    这个问题看看VCL代码就清楚了...Borland的做法是把两个图标拼成一张Width=2*Height的位图,出现任何此类问题只需要在VCL代码里找答案.
      

  9.   

    让我更加迷惑的是,我把这些图标通过Imagelist搬到Toolbar的button上时,又完全正常。Enabled等于true时鲜艳,等于False时是灰色。如果大家想试试,从下列网站下载图标:
    http://www.wrclub.net/down/listdown.aspx?id=29
    然后用目录icon/XP Set下的图标
      

  10.   

    靠,这个目录下的文件都是ICON的.转换成BMP颜色是不正确的,一定要转换成256Bit以上.Enable后图片是有的,只是背景色需要处理一下.