Главная » Статьи » Основные статьи сайта |
Строка состояния - это управляющий элемент, с
помощью которого пользователю выдается разного рода вспомогательная информация
о ходе выполнения приложения. Для этой цели используется специальный компонент StatusBar , представляющий собой ряд панелей, обычно располагающихся внизу главной формы приложения, которые содержат текущую справочную информацию. Каждая такая панель представлена в списке свойства Panels данного компонента. Свойства данного компонента. Свойство SimplePanel (тип Boolean) определяет, будет статусная строка содержать одну панель или несколько. Для того чтобы отображалась одна панель, данное свойство нужно установить в True, чтобы несколько - в False. Свойство SimpleText (тип String) содержит текст, который выводится в статусной строке
в случае, если свойство SimplePanel имеет значение 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. | |
Просмотров: 11591
| Теги: |
Другие статьи
|
|
|
|
Всего комментариев: 0 | |