Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Справочник по компонентам Delphi.doc
Скачиваний:
148
Добавлен:
02.05.2014
Размер:
1 Mб
Скачать

Компонент tSpinButton

TObject->TPersistent—”TComponent-”'TControl-”TWinControl-”TSpeenButton

Модуль SPIN

Страница Палитры компонентов Samples

Пара кнопок с двумя противоположно направленными стрелками, предназна­ченная для увеличения или уменьшения какой-то величины нажатием. Компо­нент не имеет своего заголовка.

Рисунки на кнопках по умолчанию представляют собой треугольники, указы­вающие вверх и вниз. Их можно изменить, используя свойства:

(Pb) property DownGlyph: TBitmap;

(Pb) property UpGlyph: TBitmap;

Кнопка не имеет события OnClick. При нажатии нижней и верхней кнопок соответственно возникают события:

J property OnDownClick: TNotifyEvent;

property OnUpClick: TNotifyEvent;

Этот компонент может работать в паре с другими, например, редактором (см. компонент TSpinEdit). В этом случае, получая фокус, он передает его "напарнику", указатель на который содержится в свойстве:

(Pb) property FocusControl: TWinControl;

Ввод и редактирование текста

В Палитру компонентов входят три компонента, позволяющие вводить и редактировать текст (далее — редактирующие элементы). На базе стандартного редактирующего элемента управления Windows построены два основных ком­понента — строка ввода TEdit и многострочный редактор TMemo. На базе первого из них для ввода данных по шаблону создан третий компонент — TMaskEdit.

В начале раздела опишем компонент TCustomEdit. Хотя вы не найдете его в Палитре компонентов, он является общим предком для трех доступных вам редактирующих элементов. Поэтому здесь рассмотрим только его свойства, общие для всех трех.

В отличие от других визуальных компонентов, у перечисленных в этой группе текст содержится не в свойстве Caption, а в свойстве Text:

property Text: TCaption;

TCaption = string[255] ;

Часть текста может быть выделена. Свойства

property SelStart: Integer;

property SelLength: Integer;

определяют начало и длину выделенного в редакторе текста (измеряемые в количестве символов). Сам выделенный текст содержится в строке, определя­емой свойством:

property SelText: string;

Метод

procedure ClearSelection;

исключает из текста весь выделенный фрагмент, а метод

procedure SelectAll;

выделяет весь текст в редакторе. Доступны также рабочие методы по чтению/записи выделенного текста, которые используются свойством SelText:

function GetSelTextBuf(Buffer: PChar; BufSize: Integer): Integer-procedure SetSelTextBuf(Buffer: PChar);

Они могут быть полезны для получения текста типа pChar, который приме­няется в функциях API Windows.

Текст можно передавать и принимать из буфера обмена Windows — для этого предназначены три следующих метода. Если в окне редактора выделен текст, то передается (заменяется) именно он. В противном случае в операции участвует весь текст:

procedure CopyToClipboard;

procedure CutToClipboard;

procedure PasteFromClipboard;

Очистить весь текст в редакторе можно при помощи метода:

procedure Clear;

Наконец, свойство

property Modified: Boolean;

устанавливает, изменялся ли текст в процессе редактирования.

Компонент tEdit

TObject-^TPersistent^TComponent-”TControl->TWinControl-”TCustomEdit-”TEdit

Модуль STDCTRLS

Страница Палитры компонентов Standard

Этот компонент не содержит собственного кода, в нем только опубликованы свойства его предка TCustomEdit. Он представляет собой редактируемую стро­ку (далее — просто редактор).

Стиль обрамления этого компонента

(Pb) property BorderStyle: TBorderStyle;

по умолчанию равен bsSingle.

Если свойство

(Pb) property AutoSize: Boolean;

равно True, компонент изменяет свою высоту в зависимости от размера шрифта (свойство Font). Для того чтобы изменения имели место, должен еще быть установлен стиль обрамления bsSingle.

Вводимый в редактор текст может автоматически подвергаться некоторым преобразованиям.

Преобразование, задаваемое свойством CharCase, позволяет автоматически пре­образовывать все символы только в верхний или только в нижний регистр:

(Pb) property CharCase: TEditCharCase;

TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase) ;

По умолчанию установлен стиль ecNormal и преобразования не происходит. Аналогично, свойство

(Pb) property OEMConvert: Boolean;

определяет необходимость автоматического преобразования вводимых симво­лов из кодировки OEM в ANSI и обратно. Такое свойство часто бывает нужно при обработке текста в кодировке MS-DOS.

Два следующих свойства описывают поведение выделенного текста при пере­ходе фокуса. Первое из них

(Pb) property AutoSelect: Boolean;

описывает реакцию редактирующего элемента при получении фокуса. Если оно установлено в True (по умолчанию это так), то при получении фокуса ввода весь текст в нем выделяется независимо от состояния свойства SelText. Если AutoSelect установлено в False, то при получении фокуса выделяется лишь то, что было выделено до его утери.

После утери фокуса редактором выделенный в нем текст обычно теряет цве­товое выделение. Чтобы оно оставалось, установите в False второе свойство:

(Pb) property HideSelection: Boolean;

На длину текста может быть наложено ограничение. Свойство

(Pb) property MaxLength: Integer;

определяет максимальную длину текста редактора в символах. Если значение этого свойства равно 0, то ограничений на длину текста нет.

Свойство PasswordChar предназначено для ввода пароля с использованием редактора:

(Pb) property PasswordChar: Char;

Его значение — это символ, используемый для отображения вместо любых вводимых символов.

Можно запретить возможность редактирования текста. Если значение свойства:

(Pb) property Readonly: Boolean;

равно True, текст изменить нельзя.

Вы можете отследить изменения текста в редакторе, обрабатывая поступающие события:

(Pb) property OnChange: TNotifyEvent;

Соседние файлы в папке Delphi