Привет, Гость! Регистрация RSS
Понедельник, 29.04.2024
Главная » Статьи » Основные статьи сайта

Строка состояния

Строка состояния - это управляющий элемент, с помощью которого пользователю выдается разного рода вспомогательная информация о ходе выполнения приложения.

Для этой цели используется специальный компонент StatusBar , представляющий собой ряд панелей, обычно рас­полагающихся внизу главной формы приложения, которые содер­жат текущую справочную информацию. Каждая такая панель представлена в списке свойства Panels данного компонента.

Свойства данного компонента.                               

Свойство SimplePanel (тип Boolean) определяет, будет статусная строка содержать одну панель или несколько. Для того чтобы отображалась одна панель, данное свойство нужно устано­вить в True, чтобы несколько - в False.

Свойство SimpleText (тип String) содержит текст, кото­рый выводится в статусной строке в случае, если свойство Sim­plePanel имеет значение True.

Свойство Count (тип Integer) показывает количество панелей в строке состояния. Данное свойство доступно только для чтения.

Свойство SizeGrip (тип Boolean) определяет возможность изменения размеров статусной строки. Если свойство имеет зна­чение True, то в правом нижнем углу статусной строки будет отображаться специальная треугольная область захвата, с помо­щью которой можно изменять размеры статусной строки путем растягивания. В случае, когда строка состояния выровнена по нижнему краю формы, использование области захвата будет при­водить к изменению размеров самой формы. Однако при этом для свойства BorderStyle формы должно быть установлено значе­ние bsSizeable или bsSizeToolWin, в противном случае область захвата появляться не будет.

Свойство AutoHint (тип Boolean), имеющее значение True, устанавливает, что в статусной строке автоматически бу­дет отображаться значение текущей всплывающей подсказки (hint). При этом сама всплывающая подсказка не показывается.

Свойство Panels (тип TStatusPanels) содержит список панелей статусной строки. При выполнении приложения можно обращаться к соответствующей панели по ее индексу (нумерация начинается с нуля).

В качестве основных свойств панели как объекта класса TStatusPanels можно выделить следующие.

      1) Свойство Alignment (тип TAligrunent) задает способ выравнивания текста относительно панели.

2) Свойство Bevel (тип TStatusPanelBevel) определяет вид панели: углубленная, приподнятая или плоская.

3) Свойство Style (тип TStatusPanelStyle) устанавливает способ отображения информации на панели и может прини­мать одно из двух значений:

psText - в качестве содержимого панели используется значение свойства Text (по умолчанию);

psOwnerDraw - вывод текстовой и графической инфор­мации выполняется программно с использованием по­верхности рисования (Canvas) строки состояния.

4) Свойство Text (тип String) содержит текст, выводимый на панели.

      5) Свойство Width (тип Integer) задает ширину панели. По умолчанию устанавливается ширина в 50 пикселей, а последняя панель занимает все оставшееся свободное пространств строки состояния.

Пример

Необходимо создать приложение, отражающее различные возможности работы со строкой состояния.

На форму помещаются такие ком­поненты:  строка  состояния StatusBar, многострочный ре­дактор Memo, переключатель Checkbox, группа зависимых переключателей RadioGroup и две кнопки Button с заголовками Очистить и Выход.

Для компонента StatusBar свойству AutoHint присваи­вается значение True. Затем для этого компонента с помощью Инспектора объектов через свойство Panels вызывается редактор Editing Status Bar.Panels, в котором добавляются шесть панелей. Начальные установки для каждой панели задаются пу­тем изменения свойства Text.

Свойству Width для каждой панели задается соответствующее значение, на выбор программиста.

В панелях будет отображаться следующая информация:

Панель 0: значение текущей всплывающей подсказки (hint), то есть подсказки для того элемента, над кото­рым в данный момент находится указатель мыши.

• Панель 1: цвет текста в поле редактора Memo.

Панель 2: стиль шрифта в поле редактора Memo (обыч­ный или курсив).

Панель 3: состояние кнопки Caps Lock (если кнопка включена, то выводится строка 'Большие буквы', если выключена, то отображается строка 'Маленькие буквы').

Панель 4: количество строк, содержащихся в.редакторе Memo.

         • Панель 5: текущее время.

В поле многострочного редактора Memo пользователь получа­ет возможность вводить любой текст.

Свойству Caption переключателя Checkbox устанавливается значение 'Курсив'. Данный переключатель будет определять, обычным или наклонным шрифтом отобразится текст в редакторе Memo.

Свойство Caption группы переключателей RadioGroup полу­чает значение 'Цвет текста'. Затем через свойство Items задают­ся три переключателя с названиями 'Черный', 'Красный' и 'Си­ний'. Свойству Itemlndex данного компонента присваивается значение 0. Эти переключатели будут обеспечивать изменение цвета текста, содержащегося в поле многострочного редактора.

По нажатию кнопки "Очистить" содержимое редактора Memo удаляется.

  Обработчики событий: 

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin     // во второй панели отображается каким цветом выводится текст в редакторе Memo     

 case  RadioGroup1.ItemIndex of

 0:begin

   Memo1.Font.Color:=clBlack;

   StatusBar1.Panels[1].Text:='Черный цвет';

   end;

 1:begin

   Memo1.Font.Color:=clRed;

   StatusBar1.Panels[1].Text:='Красный цвет';

   end;

 2:begin

    Memo1.Font.Color:=clBlue;

   StatusBar1.Panels[1].Text:='Синий цвет';

   end;

 end;

end;

procedure TForm1.CheckBox1Click(Sender: TObject);

begin               // в третьей панели отображается выводится текст курсивом или обычным       //шрифтом

     if  CheckBox1.Checked then

     begin

      StatusBar1.Panels[2].Text:='Курсив';

        Memo1.Font.Style:=[fsitalic];

        end

        else begin

         StatusBar1.Panels[2].Text:='Обычный шрифт';

        Memo1.Font.Style:=[];

        end;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin  // отображение в панели статусной строки состояния клавиши Caps Lock

  if getkeystate(vk_capital)=1   then

    StatusBar1.Panels[3].Text:='большие буквы'

     else

        StatusBar1.Panels[3].Text:='маленькие буквы';

        StatusBar1.Panels[5].Text:=TimeToStr(Time); // отображение текущего времени в

                                                                                    //панели статусной строки

end;

procedure TForm1.Memo1Change(Sender: TObject);

  begin  // отображение в панели количества строк в редакторе Memo

  StatusBar1.Panels[4].Text:='Строк:'+IntToStr(Memo1.Lines.Count);

  end;

procedure TForm1.Button2Click(Sender: TObject);

begin  // Выход

close;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin   // Очистка поля ввода редактора Memo

memo1.clear;

end;

end.

Нравится
Категория: Основные статьи сайта | Добавил: Dark_Green (24.10.2012)
Просмотров: 11121 | Теги: Bevel, Count, SimpleText, StylE, AutoHint, SimplePanel, SizeGrip, Panels, Alignment, Строка состояния | Рейтинг: 5.0/1

Другие статьи
»
Создание и использование заставки в приложении (0)
»
Структурная обработка исключительных ситуаций (0)
»
Функция Pars(); (1)
»
Рекурсия. Рекурсивный вызов функций и процедур. (0)
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]