- •1. Общие характеристики
- •1.1 Основные характеристики
- •1.1.1 Скорость визуальной разработки
- •1.1.2 Продуктивность компонент
- •1.1.4 Масштабируемые соединения с базами данных
- •1.2 Другие программные продукты Borland
- •1.3 Проблемы совместимости
- •1.3.2.1 Какую систему выбрать?
- •1.3.2.2 Какая система является более мошной?
- •2.1 Первое знакомство
- •2.1.1 Визуальное проектирование
- •2.1 Первое знакомство
- •2.1.2 Свойства, методы и события
- •2.1.3 Технология двунаправленной разработки
- •2.1.4 Использование проектных шаблонов
- •2.2 Палитра компонент - краткий обзор
- •2.3 Приложения управления базами данных
- •2.3.1 Пример из существующего проекта
- •2.4 Итоги
- •3.1 Инкапсуляция
- •3.2 Классы, компоненты и объекты
- •3.3 Наследование
- •3.5 Полиморфизм
- •3.5.2 Дружественные функции
- •3.6.1.1 Объявления компонентных классов
- •3.6.1.2 Объявления свойств
- •3.6.1.3 Объявления обработчиков событий '
- •3.6.1.4 Объявления автоматизированных свойств и методов
- •3.6.1.5 Быстрый вызов функций
- •3.6.1.6 Расширенные типы данных Delphi
- •3.6.2.1 Шаблоны
- •3.6.2.2 Пространства имен
- •3.6.2.3 Явные объявления
- •3.6.2.4 Непостоянные объявления
- •3.6.2.5 Идентификация типов rtti
- •3.6.2.6 Исключения
- •4. Инструменты визуальной разработки приложений
- •4.1 Администратор проекта
- •4.2 Редактор форм
- •4.3 Инспектор объектов
- •4.4 Хранилище объектов
- •4.4.1 Разделение объектов
- •4.5 Редактор кода
- •4.6 Палитра компонент
- •4.6.1.2 TPopUpMenu
- •4.6.1.4 TEdit
- •4.6.1.6 TButton
- •4.6.1.7 TCheckBox
- •4.6.1.8 Ей tRadioButton
- •4.6.1.9 TListBox
- •4.6.1.10 TComboBox
- •4.6.1.12 TGroupВох
- •4.6.2.1 TTabControl
- •4.6.2.2 TPageControl
- •4.6.2.5 TImageList
- •4.6.2.6 THeaderControl
- •4.6.2.7 TRichEdit
- •4.6.2.9 TTrackBar
- •4.6.2.10 TProgressBar
- •4.6.2.11 TUpDown
- •4.6.2.12 И tHotKey
- •4.6.3.5 TDrawGrid
- •4.6.4.1 TDataSource
- •4.6.4.2 ТТаble
- •4.6.4.3 TQuery
- •4.6.4.4 TStoredProc
- •4.6.4.6 TSession
- •4.6.4.8 TUpdateSql
- •4.6.5.1 TdbGrid
- •4.6.5.2 TdbNavigator
- •4.6.5.3 TdbText
- •4.6.5.4 TdbEdit
- •4.6.5.6 TdbImage
- •4.6.5.7 TdbListBox
- •4.6.5.8 TdbComboBox
- •4.6.5.9 TdbCheckBox
- •4.6.5.11 TdbLookupListBox
- •4.6.7.1 TOpenDialog
- •4.6.7.2 TSaveDialog
- •4.6.7.3 TFontDialog
- •4.6.7.4 TColorDialog
- •4.6.7.5 TPrintDialog
- •4.6.7.6 TPrinterSetupDialog
- •4.6.7.8 TReplaceDialog
- •4.6.7.9 Использование диалоговых компонент текстовым редактором. Приемы отладки
- •4.6.8.1 TTimer
- •4.6.8.2 TPaintBox
- •4.6.8.3 TFileListBox
- •4.6.8.6 TFilterComboBox
- •4.6.8.7 TMediaPlayer
- •4.6.8.8 TOleContainer
- •4.6.8.9 TDdeClientConv
- •4.6.8.10 TDdeClientltem
- •4.6.8.11 TDdeServerConv
- •4.6.8.12 TDdeServerltem
- •4.6.9.1 TQuickReport
- •4.6.9.2 TqrBand
- •4.7 Дизайнер меню
- •4.8 Итоги
- •5. Визуальная разработка приложений баз данных
- •5.1 Организация доступа к базам данных
- •5.1.2.1 Страница Drivers
- •5.1.2.2 Страница Aliases
- •5.1.2.3 Страница System
- •5.1.2.4 Страница Date
- •5 .1.2.5 Страница Time
- •5.1.2.6 Страница Number
- •5*2 Использование визуальных компонент
- •5.2.1.1 Источники данных
- •6. Использование и создание визуальных компонент
- •6.1 Назначение и устройство vcl
- •6.2 Типы компонент
- •6.2.5.1 Право владения
- •6.2.5.2 Родительское право
- •6.2.5.3 Поточность
- •6.3 Свойства компонент
- •6.3.1 Зачем нужны свойства?
- •6.3.2.1 Доступ к внутренним данным свойств
- •6.3.2.2 Свойства обеспечивают доступ к членам данных
- •6.3.2.3 Методы записи и чтения свойств
- •6.3.3 Переопределение свойств
- •6.3.4.1 Свойства типа множество
- •6.3.4.2 Свойства типа массив
- •6.4 События
- •6.4.1 Зачем нужны события?
- •6.4.2 Определение событий
- •6.4.2.3 Стандартные события
- •6.4.2.4 Собственные события
- •6.4.2.5 События и сообщения Windows
- •6.4.3 Обработка событий
- •6.5 Методы
- •6.5.1 Вызовы статических методов
- •6.6.1 TObject
- •6.6.2 TPersistent
- •6.6.3 TComponent
- •6.6.4 TControl
- •6.6.5 TWinControl
- •6.6.6 TGraphicControl
- •6.7 Схема разработки компонент
- •6.7.1 Создание модуля компоненты
- •6.7.2 Наследование компоненты
- •6.7.2.1 Модификация существующих компонент
- •6.7.2.2 Создание оригинальных оконных компонент
- •6.7.2.3 Создание графических компонент
- •6.7.2.4 Создание невидимых компонент
- •6.7.3 Добавление свойств, событий и методов.
- •6.7.4 Регистрация компоненты
- •6.7.5 Отладка неинсталлированной компоненты
- •6.7.6 Инсталляция компоненты на Палитру
- •6.7.7 Сохранение файлов новой компоненты
- •6.8 Разработка простой компоненты
- •6.8.1 Форма тестового приложения
- •6.8.2 Модуль тестового приложения
- •6.8.3 Члены данных, свойства и методы
- •6.8.4 Испытание компоненты
- •6.8.5 Инсталляция компоненты
- •6.9 Итоги
- •7. Графические компоненты
- •7*2 Использование канвы
- •7.3 Работа с рисунками
- •7.3.1 Рисунок, графика или канва9
- •7.3.2 Графические файлы
- •7.3.3 Обслуживание палитр
- •7.4 Внеэкранные битовые образы
- •7.4.1 Копирование битовых образов.
- •7.4.2 Создание и обслуживание
- •7.4.3 Реакция на изменения
- •7.5 Разработка графического приложения
- •7.5.1 Проектирование формы
- •7.5.2 Программный модуль
4.6.2.1 TTabControl
Отображает набор частично перекрывающих друг друга картотечных вкла-док. Названия вкладок вводятся в список свойства Tabs кнопкой
в графе значений этого свойства. Рис. 4.5 показывает заготовку формы приложения для работы с алфавитным библиотечным указателем. Если все поля не умещаются на форме в один ряд, то можно установить значение true свойства MultiLine, или прокручивать вкладки с помощью кнопок со стрелками.
Рис. 4.5. Картотечные вкладки с названиями.
Установка значения false свойства Enabled запретит выборку отдельных вкладок.
4.6.2.2 TPageControl
Отображает набор полей, имеющих вид частично перекрывающих друг друга картотечных вкладок, для организации многостраничного диалога.
Чтобы создать новую страницу диалога с соответствующей вкладкой, выберите опцию New Page из контекстного меню данной компоненты. Вы можете активизировать конкретную страницу одним из следующих способов: с помощью мыши, выбрав ее из выпадающего списка свойства ActivePage, а также перелистывая вкладки с помощью опций Next Page и Previous Page контекстного меню. Свойство Pagelndex содержит номер активной страницы. Установкой значения false свойства Tab Visible можно сделать эту страницу невидимой.
Р
ис.
4.6. Многостраничный диалог.
Рис. 4.6 показывает заготовку формы приложения с многостраничным диалогом для второй активизированной страницы. Работу с вкладками реализует встроенная компонента управления TTabSheet. Если все вкладки не умещаются в один ряд, компонента выводит кнопки прокрутки. Задайте значение true свойства MultiLine, чтобы отобразить вкладки в несколько рядов.
Отображает поле с иерархическим (древовидным) перечнем элементов - заголовков документов, записей в указателе, файлов или каталогов на диске. Действие этой компоненты можно увидеть во многих приложениях Windows 95.
С
войство
Items ссылается на объект TTreeNodes, которое
содержит редактируемый список элементов
дерева. Окно редактора элементов дерева
(Рис. 4.7) открывается кнопкой в графе
значений этого свойства. Каждый элемент
дерева состоит из метки, списка
ассоциируемых с ним субэлементов и ряда
битовых образов (если таковые имеются).
Щелкая мышью на элементе, пользователь
может раскрывать или закрывать
соответствующий список суб-элементов.
Двойной щелчок мышью раскрывает один
уровень родительского узла дерева,
показывая только его прямых потомков.
Свойство ShowButtons отвечает за отображение
кнопки (со знаком "+", если данный
узел не раскрыт и содержит суб-элементы,
или со знаком "-" в противном случае)
слева от родительского узла: нажатие
этой кнопки является альтернативой
двойного щелчка мышью по родительскому
элементу.
Рис. 4.7. Конструирование дерева компоненты TTreeView.
Число раскрываемых потомков задается значением свойства Indent. Чтобы упорядочить списки потомков в алфавитном порядке, установите значение stText
для свойства SortType. Значение true свойства Visible вызывает отображение линий - ветвей дерева, связывающих родителей с их потомками.
Элементы можно добавлять и вставлять в список динамически с помощью следующих методов для объекта Items ->TTreeNode: AddChildFirst, AddChild, AddChildObjectFirst, AddChildObject, AddFirst, Add, AddObjectFirst,AddObject.Insert,InsertObject.
4.6.2.4 TListView
Отображает поле с иерархическим (древовидным) списком элементов в различных видах. Свойство ViewStyle определяет вид отображения элементов списка: по столбцам с заголовками, вертикально, горизонтально, с малыми или с большими пиктограммами.
Свойство Items позволяет добавлять, вычеркивать и модифицировать подписи, а также подбирать пиктограммы для элементов списка. Редактор списка вызывается кнопкой в графе значений этого свойства.
Свойство Columns содержит редактируемый список названий заголовков столбцов в списке. Окно редактора столбцов открывается кнопкой
графе значений этого свойства. Чтобы увидеть заголовки, задайте значение vsReport для свойства ViewStyle, а значение true для свойства ShowColumnHeaders. Установка значения true свойства ColumnClick определяет поведение заголовка аналогичное кнопке: когда пользователь щелкает мышью по подписи, возникает событие OnColumnClick. События OnEdiling и OnEcUtecl возникают, когда пользователь начинает и завершает редактирование подписи.
Д
ля
выбора источника пиктограмм из выпадающего
списка свойств Largelmages (Smalllmages) задайте
значения vslcon (vsSmallIcon) для свойства
ViewStyle. В режиме AutoArrange свойства IconOptions
пиктограммы выравниваются в соответствии
с выбранным значением свойства
Arrangement, а свойство WrapText указывает
необходимость переноса текста подписи,
когда она не умещается на пиктограмме
по ширине. Рис. 4.8 показывает процесс
конструирования древовидного списка,
причем источником больших пиктограмм
является компонента TImageList, на объект
которой указывает свойство Largelmages.
Рис. 4.8. Конструирование древовидного списка и его отображение на форме.
