Главная страницаОбратная связьКарта сайта

Урок 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

RadioBox
CheckBox

Аналоги 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 - текущее положение


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Урок 2 - Наша первая кнопка или основные элементы интерфейса", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info