Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
26
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

2.3.1.2. Статическая текстовая надпись (StaticText)

К омпонент (панель Additional) аналогичен Label1, но имеет Windows‑окно и свойство “вдавленности” текста. BorderStyle=sbsSunken

2 .3.1.3. Строка состояния (StatusBar)

С трока (панель Win32) служит для вывода пользователем текста подсказки или другой инфор­мации, например, о состоянии выполнения программы. Строка может быть разделена на несколько панелей. Каждая панель относится к классу TStatusPanels со свойствами:

Alignmentвыравнивание текста в панели: taLeftJustify (влево), taRightJustify (вправо), taCenter (по центру).

Bevel ‑ стиль рамки: pbNone (нет), pbLowered (вогнутая), pbRaised (выпуклая).

Style ‑ содержание: psText (текст), psOwnerDraw (программное формирование).

Width ‑ ширина панели в пикселях.

Доступ к свойствам панелей осуществляется через массив Items.

Специфичные свойства

Panels ‑ описание панелей (StatusBar1.Panels.Items[0].Text:=’База’). Вызывается редактор панелей и окно свойств текущей панели.

SimplePanel,SimpleText ‑ строка из одной панели (True) и ее текст.

SizeGrip ‑ вставляется кнопка изменения размера панели (True).

Методы: Add (добавить), Insert (включить), Delete (удалить).

Пример создания строки статуса в заставке данного пункта

Procedure TForm1.FormCreate(Sender: TObject); //создание формы

Var i:Integer; p:TStatusPanel; //объект StatusBar1 уже размещен на форме

Begin With StatusBar1 Do For i:=0 To 1 Do Begin p:=Panels.Add; p.Text:='Панель '+IntToStr(i); p.Width:=Form1.Width div 2; End; End;

2.3.2. Ввод и редактирование данных

Общие специфичные свойства компонентов редактирования.

AutoSelect ‑ выделение всего текста в момент получения фокуса (True).

CharCase ‑ преобразование букв: ecNormal (нет), ecUpperCase (заглавные), ecLowerCase (строчные).

HideSelection ‑ выделение текста сохраняется при потере фокуса (False).

MaxLength ‑ максимальная длина текста (0 ‑ не ограничена).

Modified ‑ при изменении текста значение свойства равно True.

OEMConvert ‑ перекодировка из DOS в Windows и обратно (True).

PasswordChar ‑ символ, заменяющий вводимые символы при отобра­же­нии. Используется для ввода паролей (Edit1.Password:=’*’).

SelStart, SelLength, SelText ‑ начало, длина и сама выделенная строка текста соответственно.

Общие специфичные методы

ClearSelection ‑ удаление выделенного текста.

CopyToClipboard ‑ выделенный текст копируется в буфер.

CutToClipboard ‑ выделенный текст копируется в буфер и удаляется.

GetSelTextBuf(Buffer,BufSize) ‑ копируются первые BufSize символов выделенной строки в Buffer.

PasteFromClipboard ‑ замена выделенной строки (если строка не выделена, то позицию курсора) содержимым буфера.

SelectAll ‑ выделяется весь текст.

SetSelTextBuf(Buffer) ‑ замена выделенной строки (если строка не выделена, то позицию курсора) содержимым Buffer.

2.3.2.1. Одностроковый текст (Edit)

К омпонент является однострочным редактором текста. Компонент не реагирует на клавиши Enter и Esc. Для проверки вводимых символов можно использовать процедуру обработки события OnKeyPress (п.2.1.8.3).

Пример выхода из Edit1 по клавише Enter в событии OnKeyPress. Procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

If Key=#13 Then{переход к следующему в порядке обхода (п.2.2.1.2)}

Begin Key:=#0; Form1.SelectNext(Sender as TWinControl, True,True); End;

{или If Key=#13 Then Begin Key:=#0; Form1.ActiveControl:=Edit2; End;}

{или If Key=#13 Then Begin Key:=#0; Form1.Edit2.SetFocus; End;} End

Более удобным является переход по клавише Enter к следующему по порядку обхода объекту, используя метод SelectNext (п.2.2.1.2).

Пример процедуры обработки события формы (со свойством Key Preview=True) OnKeyPress для перехода по клавише Enter из любого объ­екта, что более удобно, чем отдельные процедуры для каждого объекта:

Procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

Begin If Key=#13 Then

Begin Key:=#0; Form1.SelectNext(Form1.ActiveControl as TWinControl,

True, True); Key:=#0; End;

End;