Canvas.Brush.Color:=clRed;
  Canvas.Brush.Style:=bsSolid;

解决方案 »

  1.   

    如果控件有Canvas属性的话,
    Canvas.Brush.Color := clRed;
    Canvas.Brush.Style := bsSolid;
    Canvas.Pen.Style :- psClear;
    Canvas.FillRect(ClientRect);
      

  2.   

    假设我想只填充TabControl,而不是整个窗体,该如何操作
      

  3.   

    Var
      TempConv:TControlCanvas;
      TempConv:=TControlCanvas.Create;
      TempConv.Control:=TabControl1;
      with TempConv do
       begin
         Brush.Color:=clRed;
         Brush.Style:=bsSolid;
       end ;
      

  4.   

    将TabControl的OnDraw设为True,在OnDrawTab中添加
    var
      R: TRect;
    begin
      with tabControl1.Canvas do
      begin
        Brush.Color := clred;
        FillRect(Rect);//填充Tab部分
        R := tabcontrol1.ClientRect;
        R.Top := Rect.Bottom+2;//可以调整这里的数字,不填充边缘
        InflateRect(R, -2, -2);//可以调整这里的数字,不填充边缘
        FillRect(R);
      end;
      

  5.   


    忘了加一句:Var
      TempConv:TControlCanvas;
    begin
      TempConv:=TControlCanvas.Create;
      TempConv.Control:=TabControl1;
      with TempConv do
      begin
        Brush.Color:=clRed;
        Brush.Style:=bsSolid;
        FillRect(Rect(0,0,TabControl1.Width,TabControl1.Height));
      end;
    end;
      

  6.   

    但是最后一个sheet老是不能被填充啊!