干脆,在上面放一个image控件

解决方案 »

  1.   

    Statusbar是从TWincontrol继承的,而StatusBars.Panels[0]是从Tcollection继承的,所以没有handle,只能用canvas去画,
    要不就用TCoolbar放在下边,把StatusBar1作为他的一个CoolBand,另加一个CoolBand里面放图像文件。
      

  2.   

    同意楼上,\但好像这样statusbar控件还有很多,你找找看.
      

  3.   

    procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
      Panel: TStatusPanel; const Rect: TRect);
    begin
      with StatusBar1.Canvas do
      begin
        Brush.Color := clRed;
        FillRect(Rect);
        Font.Color := clYellow;
        ImageList1.Draw(StatusBar1.Canvas,Rect.Left,Rect.Top,Panel.Index);
        TextOut(Rect.left + 30, Rect.top + 2, 'Panel' + IntToStr(Panel.Index));
      end;
    end;记住了~其中StatuBar的Panels的Style要设置成psOwnerDraw
      

  4.   

    还有一个问题请教:
        如何在运行中改变Panels中的图标呢?
      

  5.   

    1、放一个statusbar控件,右键添加一个panels并设置其属性为onower类型
    2、在drawpanel事件中
       statusbar1.canvas.draw(0,0,image1.picture.graphic);
       statusbar1.canvas.draw(statusbar1.panels[0].width+加一个合适的数字,0...);