我在form上放一个时间控件和一个statusbar控件,具体代码如下:
我想使statusbar1.Panels[3].Text:='欢迎使用'并使字向左移动,不知如何实现procedure TF_main.timer1timer(Sender: TObject);
var
Strtmp:String;
begin
  statusbar1.Panels[0].Text:='当前用户:'+CurrentUserName ;
  statusbar1.Panels[2].Text:=formatdatetime('hh:mm:ss',now);
  Strtmp:=FormatDateTime('YYYY',Date)+'年'+FormatDateTime('MM',Date)+'月'+FormatDateTime('DD',Date)+'日';
  case DayOfWeek(Now) of
                1:begin
                        Strtmp:=Strtmp+' 星期日';
                end;
                2:begin
                        Strtmp:=Strtmp+' 星期一';
                end;
                3:begin
                        Strtmp:=Strtmp+' 星期二';
                end;
                4:begin
                        Strtmp:=Strtmp+' 星期三';
                end;
                5:begin
                        Strtmp:=Strtmp+' 星期四';
                end;
                6:begin
                        Strtmp:=Strtmp+' 星期五';
                end;
                7:begin
                        Strtmp:=Strtmp+' 星期六';
                end;
        end;
     statusbar1.Panels[1].Text:='  '+strtmp;
end;
上述代码能正常运行

解决方案 »

  1.   

    在FormCreate事件里加
    statusbar1.Panels[2].Alignment := taRightJustify; 
    然后var
      curSpace: Integer = 0;
    function Welcome(const maxSpace: Integer): string;
    var
      temp: array of Char;
    begin
      Result:= '欢迎使用';
      if  curSpace < maxSpace then
      begin
        SetLength(temp, curSpace);
        FillChar(temp[0], curSpace, #$20);
        Result := Result + string(temp);
      end
      else
      begin
        curSpace := 0;
      end;
      Inc(curSpace);
    end;procedure TF_main.timer1timer(Sender: TObject);
    var
    Strtmp:String;
    begin
      statusbar1.Panels[0].Text:='当前用户:'+CurrentUserName ;
      statusbar1.Panels[2].Text:=formatdatetime('hh:mm:ss',now);
      statusbar1.Panels[3].Text:=Welcome(20);
      Strtmp:=FormatDateTime('YYYY',Date)+'年'+FormatDateTime('MM',Date)+'月'+FormatDateTime('DD',Date)+'日';
      case DayOfWeek(Now) of
                    1:begin
                            Strtmp:=Strtmp+' 星期日';
                    end;
                    2:begin
                            Strtmp:=Strtmp+' 星期一';
                    end;
                    3:begin
                            Strtmp:=Strtmp+' 星期二';
                    end;
                    4:begin
                            Strtmp:=Strtmp+' 星期三';
                    end;
                    5:begin
                            Strtmp:=Strtmp+' 星期四';
                    end;
                    6:begin
                            Strtmp:=Strtmp+' 星期五';
                    end;
                    7:begin
                            Strtmp:=Strtmp+' 星期六';
                    end;
            end;
        statusbar1.Panels[1].Text:='  '+strtmp;
    end; 
      

  2.   

    statusbar1.Panels[2].Alignment := taRightJustify; 
    应为
    statusbar1.Panels[3].Alignment := taRightJustify; 
    谢谢,结贴