procedure TForm1.btn5MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
stat1.Panels[3].text:=(sender as TSpeedButton).hint;
end;
怎么我打上以上代码状态栏没有显示呢?(HINT属性已经添加文字了)求教...先谢了

解决方案 »

  1.   

    stat1.Panels[3]的style是否设置成了psOwnerDraw
      

  2.   

    呵呵,因为是新手,一般可以用空间实现的都用控件,因为效率高,设置没有错,style为psText,把autohint属性设置为true可以显示,但只能显示在Pannels[0]上,WHY?
      

  3.   

    D7下,把autohint属性设置为true取消,可以实现要求、
      

  4.   


    代碼沒有錯???
    有二種問題:
    // 這樣試下;
    procedure TForm1.btn5MouseMove(Sender: TObject; Shift: TShiftState; X, 
      Y: Integer); 
    begin 
      stat1.Panels[3].text:= ' 有代碼';
    end; 還有   這個事件是給誰的?    或者說這個  btn5  是什麼類型? 是SpeedButton  嗎 ?
    procedure TForm1.btn5MouseMove(Sender: TObject; Shift: TShiftState; X, 
      Y: Integer); 
    begin 
    stat1.Panels[3].text:=(sender as TSpeedButton).hint; 
    end;    
      

  5.   

    嗯,都试过了,在autohint属性设置为true的情况下,取消TRUE的话Panels[3]不显示MouseMove内容
    输入: stat1.Panels[3].text:= ' 有代碼';
    结果: 不显示;
    但是改为
    输入: stat1.Panels[3].Text:=dateTimeToStr(now);
    结果: 能显示正确的日期和时间, 
    BTN5是SpeedButton没错,我只有书没有光盘,郁闷~~
      

  6.   


    亂說一通。
    你把代碼放上來吧,肯定是代碼寫錯了。取 hint  的 與show 不hint  一點關系也沒有。 
      

  7.   

    代码就很短的一段...各位可以试试,MouseMove产生的HINT信息一定要在状态栏第一格显示么??谢了
    procedure TForm1.btn5MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer); //当鼠标移到快速按键5时
    begin
    stat1.Panels[3].text:= (sender as TSpeedButton).hint; //在状态栏第四格显示Hint短信息
    end;procedure TForm1.tmr1Timer(Sender: TObject);
    begin
    stat1.Panels[0].Text:=dateTimeToStr(now);//状态栏第一格显示现在日期时间
    end;
      

  8.   

    不是。你的 statusbar  建了幾個 panel ???
      

  9.   

    呵呵 谢谢你们 statusbar  建了4个pannels,stat1.Panels[0]...stat1.Panels[3],如果你们试过都是没问题的话 我想我多做几次看能不能找出问题吧,麻烦你们了
      

  10.   


    procedure TForm1.SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
    begin
      StatusBar1.Panels[3].Text:= (sender as TSpeedButton).hint;
    end;我就把SpeedButton控件的hint里面添加了字符串,其余的都没有改变,测试的时候已经成功显示出来了。