• 用户界面设计(7)- 窗体上的状态栏应用(StatusBar)


    状态栏(StatusBar)一般用来提示系统和用户有用的信息,比如当前系统日期、软件版本、操作状态等。通常显示在窗口底部。

    1、窗体上添加状态栏,主要属性为Panels属性,TStatusPanels是一个TstatusPanel对象的集合,Panels属性可以为状态栏创建多个Panel,Panel之间会被分割显示。

     

    2、AutoHint属性用来确定状态栏的文本是否被自动设置成为当前的提示信息。

    例子:设置StatusBar属性AutoHint为True,Hint键入提示信息,运行程序鼠标悬停就可以看到提示信息出现在状态栏,不过状态栏Panels[x] 内容会被洗掉(固定不会,也就是showhint)。

    3、SimplePanel属性为单面板状态栏,设置为True后,状态栏只有一个面板,SimpleText属性可以设置单面板状态栏显示内容。

    4、SizeGrip属性设置为True后,官方说明在状态栏右下方会显示三角形标志可调整状态栏大小(设置之后的确出现标志,但是实际是调整窗体大小)。

    5、手动设置Panels的Text内容:

    StatusBar1.Panels[0].Text:= '**科技有限公司';
      StatusBar1.Panels[1].Text:= '当前状态:';
      StatusBar1.Panels[2].Text:= (Sender as TToolButton).Caption;//将工具栏按钮caption赋值

    6、为状态栏添加图标,Delphi并没有像工具栏那样给状态栏添加图标的功能,所以我们需要代码实现。

      image1.Parent:= StatusBar1;
      Image1.Left:= StatusBar1.Panels[0].Width+ StatusBar1.Panels[1].Width+2 ;
      Image1.Top:= 10;
      //Image1.Picture.LoadFromFile('');//手动添加图片

    7、在状态栏上添加进度条

    窗体上添加TAnimate组件,设置ConmmonAVI属性为aviCopyFiles。添加TStatusBar,TButtoon组件,TGauge组件。

    begin
      Statusbar1.Panels[0].Text:= '当前操作为:文件复制';
      Gauge1.Parent:= StatusBar1;
      Gauge1.Left:= StatusBar1.Panels[0].Width+3;
      Gauge1.top:= 3;
      Gauge1.Width:= StatusBar1.Width - StatusBar1.Panels[0].Width-3;
      Gauge1.Height:= StatusBar1.Height-3;
      Gauge1.MinValue:= 0;
      Gauge1.MaxValue:= 100;
      Animate1.Active:= True;
      for i:= 0 to 100 do
      begin
        Gauge1.Progress:= i;
        Application.ProcessMessages;
        Sleep(200);
      end;
      Animate1.Active:= False;
    end;

    8、在状态栏上显示时钟及日期

    窗体上添加TStatusBar组件和TTimer组件,设置TTimer组件的 Intervar属性为500,放一个按钮。

    statusbar1.Panels[0].Text:= '当前日期';
      StatusBar1.Panels[1].Text:= FormatDateTime('yyyy 年 mm 月 dd 日  hh 点 nn 分 ddd',now)
  • 相关阅读:
    线程(java课堂笔记)
    java中的各种流(老师的有道云笔记)
    面向对象(java菜鸟的课堂笔记)
    泛型(java菜鸟的课堂笔记)
    我做的第一个程序(菜鸟的java课堂笔记)
    java中的一些规则(菜鸟的课堂笔记)
    一位菜鸟的java 最基础笔记
    spatial index (空间索引)
    hadoop 的疑问
    numpy 矩阵的运算
  • 原文地址:https://www.cnblogs.com/fansizhe/p/12782535.html
Copyright © 2020-2023  润新知