在staturebar的单击事件中,
            取出鼠标的位置就可以判断了:
 
var
   myMouse : TMouse ;
   Pt : TPoint ;
begin
   pt := MyMouse.CursorPos ;
   if Pt.x> .. and pt.y... thenend ;
              

解决方案 »

  1.   

    O,谢谢zds0707(周) ,我也是用这个方法解决的.有没有其他方法那?
    还有,就是如何改变panels的字体颜色?
      

  2.   

    下面一段代码,试一下:
    procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
      Panel: TStatusPanel; const Rect: TRect);
    begin
      StatusBar.Canvas.Brush.Color:=$00CA8895;
      StatusBar.Canvas.Font.Color:=clGreen;
      StatusBar.Canvas.FillRect(Rect);  StatusBar.Canvas.TextRect(Rect,Rect.Left, Rect.Top,Panel.Text);end;
      

  3.   

    别忘了
        设置:
        StatusBar1.UserSystemFont := true ;