20.3. Общие свойства компонентов
Все компоненты Delphi являются потомками класса TComponent, который в свою очередь произошел от класса Tpersistent. Класс Tpersistent передает своим потомкам важный виртуальный метод
Procedure Assing(Source:TPersistent);
Этот метод позволяет копировать поля и свойства объекта Source в объект, вызвавший метод Assign.
Класс TComponent является предком для класса TControl, от которого в свою очередь произошли классы TWinControl и TGraphicControl. Компоненты, которые наследуют класс TWinControl, имеют оконный ресурс, т.е. они способны получать и обрабатывать сообщения Windows.
Рассмотрим некоторые общие для всех свойства компонентов:
Property Name:TComponentName; – имя компонента, обычно оно дается самой системой Delphi, например Button1, и на начальном этапе обучения программированию лучше его не изменять;
Property Tag:Integer; – определяет 4 байта в любом компоненте для личного использования;
Property Owner:TComponent; – указатель на владельца данного компонента;
Property Parent:TWinControl; – определяет родительское окно для данного компонента. Следует иметь в виду, что владелец создает компонент, а родитель им управляет как дочерним окном;
Property Caption:TCaption; – заголовок компонента, именно он, например для кнопки, определяет видимую надпись на компоненте;
Property Text:TCaption; – текст на компоненте, он не совместим со свойством Caption. У компонента может быть свойство или Caption или Text;
Property Cursor:TCursor; – определяет вид курсора при его нахождении над данным компонентом. Все курсоры принадлежат глобальному объекту Screen. Ниже приведены стандартные виды курсора:
Стандартные курсоры системы Windows имеют номера от -17 до 0. Можно создать свой вид курсора в каком–нибудь графическом редакторе, сохранить его в ресурсном файле с расширением *.res, внести его в список курсоров объекта Screen, а затем назначить его любому компоненту. Пример:
{$R Cursor.res}
Screen.Cursor[1]:=LoadCursor(HInstance,’Cur_1’);
Button1.Cursor:=1 ;
Здесь сначала читается ресурсный файл Cursor.res, затем в объект Screen загружается курсор с именем Cur_1, регистрируется под номером 1 и этот вид курсора назначается компоненту Button1.
Property BaundsRect:TRect; – определяет прямоугольное окно, в котором находится компонент вместе с его граничным окаймлением. Здесь
TRect = Record case Integer of 0: (Left, Top, Right, Bottom: Integer); 1: (TopLeft, BottomRight: TPoint); End;
End;
TPoint=Record
x,y:Integer;
end;
Графически окно определяется следующим образом относительно координат владельца компонента:
Property ClientRect:TRect; – определяет клиентскую часть окна компонента, т.е. ту часть, которая доступна для отображения дочерних компонент;
Property Align:TAlign; – определяет вид выравнивания компонента относительно границ родителя. Это свойство может принимать следующие значения:
alNone – выравнивание не производится;
alTop – компонент прижимается к верхней границе родителя и его ширина становится равной родительской ширине клиентской области;
alBottom – компонент прижимается к нижней границе родителя и его ширина становится равной родительской ширине клиентской области;
alLeft – компонент прижимается к левой границе родителя и его высота становится равной родительской высоте клиентской области;
alRight – компонент прижимается к правой границе родителя и его высота становится равной родительской высоте клиентской области;
alClient – компонент расширяется на всю клиентскую область родителя. Свойство Align часто используется при проектировании приложений рассчитанных для работы с экраном различного разрешения, например, 640 на 480 точек или 1024 на 768 точек. Оно позволяет автоматически настраивать вид формы и расположение компонентов на ней для любого разрешения экрана;
Bottom
Top
Left
Right
Property Visible:Boolean; – определяет видимость компонента. Можно прямо управлять значением этого свойства, а можно вызывать специальные методы: Procedure Hide; – скрыть;
Procedure Show; – показать;
Property Enable:Boolean; – определяет активность компонента. Если это свойство ложно, то этот компонент не может быть активным и отображается обычно серым цветом;
Property Color:Tcolor; – определяет цвет фона компонента. Цвет обычно задается или символьной константой, начинающейся приставкой «cl», или шестнадцатеричной восьмиразрядной константой, в которой старшие два разряда обычно полагают равными нулю, а следующие сдвоенные разряды определяют интенсивности синей, зеленой и красной составляющих цвета. Например, константа $000000FF соответствует ярко–красному цвету;
Property Hint:String; – текст оперативной подсказки, которая может всплывать рядом с компонентом, на который указывает курсор. Текст подсказки может состоять из двух частей, разделенных вертикальной линией. Первая часть текста подсказки будет появляться рядом с компонентом, а вторая часть – будет передаваться объекту Application в свойство Hint и может отображаться в любом визуальном компоненте, обычно в StatusBar, при написании обработчика события OnHint для объекта Application. Например, для кнопки можно определить подсказку вида
Button1.Hint:=’Открыть файл | Работа с файлами’;
С оперативной подсказкой непосредственно связаны следующие свойства:
Property ShowHint:Boolean; – разрешает вывод подсказки. Нужно помнить, что и у владельца данного компонента это свойство должно быть истинным, иначе у всех дочерних компонент подсказка работать не будет;
Property HintColor:Tcolor; – определяет цвет фона подсказки;
Property HintPause:Integer; – определяет длительность паузы перед показом подсказки после появления курсора мышки над компонентом в миллисекундах;
Property HintHidePause:Integer; – определяет длительность показа подсказки в миллисекундах;
Property HelpContext:THelpContext; – определяет номер странички справочной системы, которая может вызываться для активного компонента при нажатии клавиши F1;
Property Canvas:TCanvas; – определяет холст фона компонента, вначале это обычно светло–серый фон, но на нем можно рисовать все, что угодно.
Мы рассмотрели только основные общиесвойства компонентов. Более подробно о свойствах конкретных компонентов можно узнать, используя службу помощи системы Delphi или книги – справочники.
- Программирование в среде Delphi
- Программирование в среде Delphi
- 1. История развития вычислительной техники, системы счисления и единицы информации.................................................7
- 2. Структура персонального компьютера и операционные системы.........................................................................13
- 3. Основы алгоритмизации и работа в delphi..........................18
- 4. Базовые элементы delphi...................................................................26
- 5. Стандартные функции и подпрограммы................................30
- 6. Операторы delphi......................................................................................33
- 7. Операторы циклов....................................................................................35
- 18. Выделение памяти под объект и прародитель всех классов – tobject..........................................................................................84
- 19. Обработка исключительных ситуаций................................87
- 20. Основные классы и общие свойства компонентов...93
- 26. Технология com.....................................................................................129
- 1. История развития вычислительной техники, системы счисления и единицы информации
- 1.1. История развития вычислительной техники
- 1.2. Системы счисления
- 1.3. Единицы информации
- 2. Структура персонального компьютера и операционные системы
- 2.1. Структура персонального компьютера.
- 2.2. Операционные системы
- 3. Основы алгоритмизации и работа в delphi
- 3.1. Основы программирования
- 3.2. Программирование в среде Delphi
- 4. Базовые элементы delphi
- 4.1. Алфавит среды Delphi
- 4.2. Константы
- 4.3. Переменные
- 4.4. Основные типы переменных
- 4.5. Операции над переменными и константами
- 5. Стандартные функции и подпрограммы
- 5.1. Математические функции
- 5.2. Функции преобразования
- 5.3. Дополнительные системные подпрограммы и функции
- 6. Операторы delphi
- 6.1. Оператор присваивания
- 6.2. Оператор безусловной передачи управления
- 6.3. Условный оператор if
- 6.4. Оператор разветвления Case
- 6.5. Составной оператор
- 7. Операторы циклов
- 7.1. Оператор цикла For
- 7.2. Оператор цикла Repeat
- 7.3. Оператор цикла While
- 8. Работа с массивами
- 9. Работа со строками
- 9.1. Процедуры работы со строками
- 9.2. Функции работы со строками
- 10. Работа с записями
- 11. Процедуры и функции
- 12. Модуль unit
- 13. Работа со множествами
- 14. Работа с файлами
- 14.1. Текстовые файлы
- 14.2. Типированные файлы
- 14.3. Нетипированные файлы
- 15. Работа с файлами и каталогами
- 16. Динамические переменные и структуры данных
- 16.1. Динамические переменные
- 16.2. Работа со стеком
- 16.3. Работа со списками или очередями
- 16.4. Работа с деревьями
- 17. Основы объектно–ориентированного программирования
- 17.1. Объекты и классы
- 17.2. Области видимости класса
- 17.3. Свойства (Property) и инкапсуляция
- 17.4. Методы, наследование и полиморфизм
- 17.5. События (Events)
- 18. Выделение памяти под объект и прародитель всех классов – tobject
- 18.1. Выделение памяти под объект
- 18.2. Описание класса tObject
- 18.3. Операторы приведения типов классов
- 19. Обработка исключительных ситуаций
- 19.1. Два вида оператора Try
- 19.2. Программное создание исключительной ситуации
- 19.3. Основные исключительные ситуации
- 20. Основные классы и общие свойства компонентов
- 20.1. Класс tList
- 20.2. Класс tStrings
- 20.3. Общие свойства компонентов
- 21. Графические возможности delphi
- 21.1. Класс Tcanvas
- 21.2. Классы тGгарhic и тРicture
- 21.3. Классы tFont, tPen и tBrush
- 21.4. Работа с изображениями
- 22. Визуальные компоненты delphi
- 22.1. Компонент tBitBtn
- 22.2. Компоненты tDrawGrid и tStringGrid
- 22.3. Компонент tPageControl
- 22.4. Компонент tTimer
- 22.5. Компонент tGauge
- 22.6. Компонент tСolorGrid
- 23. Стандартные диалоговые окна и типовые диалоги
- 23.1. Стандартные диалоговые окна
- 23.2. Типовые диалоги
- 24. Форма, приложение и глобальные объекты
- 24.1. Форма и ее свойства
- 24.2. Объект Application
- 24.3. Глобальные объекты
- Объект ClipBoard
- Объект Screen
- Объект Printer
- 25. Межпрограммное взаимодействие
- 25.1. Обмен сообщениями
- 25.2. Динамический обмен данными
- 25.3. Совместное использование общей памяти
- 25.4. Каналы
- 25.5. Сокеты
- 26. Технология com
- 26.1. Интерфейс
- 27. Технология автоматизации
- 27.1. Основы ole Automation
- 27.2. Примеры использования серверов автоматизации
- 27.3. Компоненты ActiveX
- 28. Динамические библиотеки
- 28.1. Создание dll
- 28.2. Использование dll
- 28.3. Пример написания dll
- 29. Работа с базами данных
- 29.1. Основные определения
- 29.2. Взаимодействие приложения на Delphi с базами данных
- 29.3. Компоненты взаимодействия с базами данных
- If adoTable1.Locate(’fio,stag’,varArrayOf([’Иванов’,’10’]),[])Then …;
- 29.4. Работа с локальной базой данных
- 30. Основы языка sql
- 30.1. Составные части sql
- 30.2. Команда select
- 30.3. Пример использования запросов в Delphi
- 31. Создание собственных компонентов
- 32. Работа с реестром
- 33. Перспективы программирования в delphi
- Литература
- 220013, Минск, п.Бровки, 6