Урок 2 - Наша первая кнопка или основные элементы интерфейса
Ведущий раздела KOL и MCK: Анатолий aka XVeL
Автор: Борис Моренко
WEB-сайт: http://kol.mastak.ru
Полную версию библиотеки KOL и MCK можно скачать здесь.
У многих визуальных объектов существуют следующие параметры в
конструкторе: AParameter - родительский объект
контрола Саption - надпись на объекте. Их мы описывать не
будем :-] Если говорить про свойства, то тут еще проще. Большинство
этих объектов имеют такие же свойства, как и их братья из VCL.
Button
Кнопка она и в Африке кнопка :). Аналог TButton в VCL.
function NewButton( AParent: PControl; const Caption: String):PControl;
Параметр Style может иметь следующие флаги:
Флаг |
Описание |
bs_center |
центрирует текст кнопки |
bs_left |
помещает текст кнопки в левой части ограничивающего прямоугольника |
bs_right |
помещает текст кнопки в правой части ограничивающего прямоугольника |
bs_top |
помещает текст кнопки в верхней части ограничивающего прямоугольника |
bs_vcenter |
помещает текст кнопки в центральной (по вертикали) части ограничивающего прямоугольника |
bs_multiline |
приносит текст на другую строчку, если он не помещается на кнопке в ширину |
Несколько свойств позволяющих обойтись без жонглирования
стилями.
LikeSpeedButton - кнопка становится по свойствам похожа на
TSpeedButton из VCL.
Cвойство TextAlign: TTextAlign - указывает расположение текста
на кнопке. Может принимать следующие значения :
type
TTextAlign =( taLeft, taRight, taCenter );
По умолчанию taCenter.
BitBtn
Кнопка не принимающая фокуса (почти полный аналог VCL SpeedButton)
function NewBitBtn(AParent: PControl; const Caption: String; Options: TBitBtnOptions;
Layout: TGlyphLayout; GlyphBitmap: HBitmap; GlyphCount: Integer ): PControl;
Options:
- bboImageList - используется ImageList
- bboNoBorder - без всякой окантовки
- bboNoCaption - кнопка без надписи
- bboFixed - фиксированное положение
Layout отвечает за то где будет находится рисунок на кнопке:
- glyphLeft - слева
- glyphTop - сверху
- glyphRight - справа
- glyphBottom - снизу
- glyphOver - посередине
Panel
Аналог контрола TPanel из Delphi. На него (как и на форму), можно
"насаживать" другие визуальные элементы.
function NewPanel(AParent: PControl; EdgeStyle: TEdgeStyle): PControl;
EdgeStyle - стиль панели. Может иметь следующие
значения:
- esRaised - Обычная панель. Вогнутая наружу ( как на рисунке).
- esLowered - Вогнута внутрь
- esNone - Контуры панели никак не показываются
GroupBox
NewGroup ,как можно догадаться и по названию, аналог
Delphi-компонента TNewGroup. GroupBox является родительским объектом,
также как и Panel.
function NewGroupbox(AParent: PControl; const: String): PControl;
Label
Пару слов про объекты, функции которых в Delphi выполняет класс
TLabel. В KOL 2 обьекта- это Label и WordWrapLabel. Чем
они отличаются друг от друга ? В отличие от Label ,
WordWrapLabel производит перенос текста,написанного на нем, на
другую строку. В общем это все отличие.
function NewLabel(AParent: PControl; const Caption: String): PControl;
function NewWordWrapLabel( AParent: PControl; const Caption: String ): PControl;
CheckBox и RadioBox
Аналоги VCL-классов TCheckBox и TRadioBox. Проверка, выбран ли этот
компонент, также осуществляется через свойство Checked.
function NewCheckbox(AParent: PControl; const Caption: String ): PControl;
function NewRadiobox(AParent: PControl; const Caption: String ): PControl;
EditBox
Аналог TEdit. Для того, чтобы получить текст введенный пользователем,
надо обратится к свойству Text.
function NewEditbox(AParent: PControl; Options: TEditOptions ): PControl;
Параметр Options может состоять из следующих значений:
- eoNoHScroll - нет горизонтальной прокрутки
- eoNoVScroll - нет вертикальной прокрутки
- eoLowerCase - строчные (маленькие) буквы
- eoMultiline - многострочный
- eoNoHideSel - выбранный текст подсвечивается, даже если поле
не имеет фокуса
- eoOemConvert -
- eoPassword - все вводимые символы отображаются при помощи
одного символа. По умолчанию этим символом служит звездочка
- eoReadOnly - только для чтения
- eoUpperCase - прописные (большие) буквы
- eoWantReturn - заставляет Windows переводить строку, когда
пользователь нажимает «Enter»
- eoWantTab - перевод фокуса когда пользователь нажимает «Tab»
RichEdit
Предназначен для редактирования многострочного текста.
function NewRichEdit(AParent: PControl; Options: TEditOptions): PControl;
Параметры Options аналогичны EditBox.
Чтобы загрузить текст используйте функцию:
function RE_LoadFromFile( const Filename: String; Format: TRETextFormat;
SelectionOnly: Boolean ): Boolean;
Сохранить:
function RE_SaveToFile( const Filename: String; Format: TRETextFormat;
SelectionOnly: Boolean ): Boolean;
- Filename - путь до файла
- Format - формат текста:
reRTF - нормальный RTF reText - только текст (без
OLE обектов) reTextized - простой текст с объектами OLE
rePlainRTF - reRTF без языковых-специфических ключевых слов
reRTFNoObjs - reRTF без объектов OLE
rePlainRTFNoObjs - rePlainRTF без объектов OLE
ListBox
Аналог TListBox из VCL. Свойства в общем то те же (почти :-) .
function NewListbox(AParent: PControl; Options: TListOptions ): PControl;
Параметр Options может состоять из следующих значений :
- loNoHideScroll - добавляет прокрутку вверх-вниз
- loNoExtendSel - выделяет сразу первый пункт
- loMultiColumn -
- loMultiSelect - автоматическое выделять несколько строк
- loNoIntegralHeight -
- loNoSel - нет выделения строк (только "окантовка")
- loSort - список сортируется
- loTabStops - не реагирует на Tab
Некоторые свойства:
Свойство |
Описание |
Items[idx:index]:string |
Обращение к строке под индексом idx |
CurIndex :integer |
Индекс текущей строки |
Count :integer |
Всего строк |
Add(s:string):integer |
Добавляет в список строку |
Insert(idx:integer;s:string) |
Вставка в список в позицию idx строки s |
Delete(idx:integer) |
Удаление строки с индексом idx |
Clear |
Очистка списка |
ComboBox
Аналог TComboBox
function NewCombobox(AParent: PControl; Options: TComboOptions): PControl;
Options могут быть следующие:
- coReadOnly - только для чтения
- coNoHScroll - текст не прокручивается по горизонтали
- coAlwaysVScroll - при "выпадении", комбобокс всегда имеет
вертикальную прокрутку
- coLowerCase - маленькими буквами
- coNoIntegralHeight -
- coOemConvert -
- coSort - список сортируется
- coUpperCase -заглавные буквы
Многие свойства схожи со свойствами ListBox
ProgressBar
Аналог TProgressBar из VCL
function NewProgressbar(AParent: PControl): PControl;
function NewProgressbarEx(AParent: PControl; Options: TProgressbarOptions): PControl;
NewProgressBarEx -это расширенный прогрессбар. Его Options
могут принимать следующие значения:
- pboVertical - Полоска бежит не слева на права, а снизу в верх
- pboSmooth - Полоска не в виде квадратиков, а сплошной линией
Основные свойства этих элементов: MaxProgress -
максимальный диапазон "бегунка" Progress - текущее положение
|