发现statusbar组件显示字符串文本时都是一行显示,不会换行...求大侠帮帮忙,怎么控制文本可以换行显示多行字符串??谢谢了!!小弟分不多了...

解决方案 »

  1.   

    TStatusBar中的panel 文本好像不能换行, 即使加了回车换行符也不行.
    但有一个变通的办法,就是自己DrawPanel:
    将要设置文本的panel中 style 为DrawPanel;
    再在 statusbar的 OnDrawPanel 事件输出文本:
     if Panel = stat1.Panels[2] then //Panels[2] 要设置换行的panel
      begin
         StatusBar.Canvas.TextOut(rect.Left, rect.Top, '第一行');
         StatusBar.Canvas.TextOut(rect.Left, rect.Top+ 16,'new line');
      end仅供参考哟.
      

  2.   

      谢谢你!看了你的方法,我会做了,结合panel中 style 的值可以显示/不显示自画的文本,这样也不影响动态显示了!小弟出学delphi,多多指教!!分全给你了!!