Button按钮的自定义字体设置后,其字体能变为设定的样式,但颜色不能!    请高手指点(ParentFont属性为False)!

解决方案 »

  1.   

    可以用getdc然后自已再改button的颜色,有点麻烦当然用TBitbtn就OK啦
      

  2.   

    好了,这个是用api写的,你自已调颜色和位置
    procedure TForm1.Button1Click(Sender: TObject);
    var
          FullscreenCanvas:TCanvas;
          dc:HDC;
      begin
          DC   :=   GetDC   (button1.Handle);
          FullscreenCanvas   :=   TCanvas.Create;
          FullscreenCanvas.Handle   :=   DC;
          FullscreenCanvas.Brush.Color   :=   clred;
          FullscreenCanvas.FillRect(Rect(0,0,button1.Width,Button1.Height));
          FullscreenCanvas.TextRect(Rect(0,0,button1.Width,Button1.Height),1,2,button1.Caption);
          FullscreenCanvas.Free;
          ReleaseDC   (0,   DC);
      end;
      

  3.   

    bitbtn是没问题,只是想搞清楚为什么颜色就不能自定义(这个问题是一个刚刚学习D的人问的,偶竞没搞定,狂汗!特请高人指点!).
      

  4.   

    button的字体是windows自已画的只能是黑色,没得改procedure TForm1.Button1Click(Sender: TObject);
    var
    FullscreenCanvas:TCanvas;
    dc:HDC;
    begin
    DC := GetDC (button1.Handle);
    FullscreenCanvas := TCanvas.Create;
    FullscreenCanvas.Handle := DC;
    FullscreenCanvas.Brush.Color := clred;
    FullscreenCanvas.FillRect(Rect(0,0,button1.Width,Button1.Height));
    FullscreenCanvas.TextRect(Rect(0,0,button1.Width,Button1.Height),1,2,button1.Caption);
    FullscreenCanvas.Free;
    ReleaseDC (0, DC);
    end;
    只有重画还有像listview上面的标题栏这些都一样