Пятница, 21.09.2018, 05:26
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Ссылки
Статистика
Реклама
01
 
Реклама
Поиск
Друзья сайта
Работа, база вакансий и резюме  Белый каталог сайтов - RabOnline.ru/dir Результаты антивирусного сканирования
Реклама
01

Страница: 1 2 3 4 5 6 7

Правила создания компонентов во время выполнения программы.

Для создания компонента во время выполнения программы следует выполнить такие действия:

  • Создать экземпляр компонента с помощью вызова конструктора create,передав, при необходимости, в качестве параметра ссылку на компонент, который будет нести ответственность за разрушение создаваемого компонента. Если компонент будет разрушен в тексте программы, то ссылку можно не передавать, использовав значение nil;

  • Для визуальных компонентов установить свойство визуальной принадлежности Parent, присвоив ему ссылку на контейнер, в котором отображается создаваемый компонент;
  • Для визуальных компонентов установить свойства, определяющие положение, размеры и другие необходимые визуальные характеристики элемента управления;
  • При необходимости реализовать в виде методов какого-либо класса и назначить компоненту обработчики событий;
  • Если при создании компонента не был указан владелец Owner, разрушить компонент, вызвав его метод Free. Если компонент имеет владельца, то он будет разрушен автоматически.

Понятие диалогового компонента.

Диалоговые компоненты — это не визуальные компоненты, которые могут во время выполнения программы отображать на экране диалоговые окна для получения от пользователя какой-либо информации. Все диалоговые компоненты наследуются от класса TCommonDialog, в котором описан метод Execute, предназначенный для вывода диалогового окна на экран. Метод реализован в виде функции, возвращающей логическое значение, используемое некоторыми модальными диалогами для индикации необходимости использования информации по результатам работы пользователя. Например, метод Execute файлового диалога OpenDialog возвращает значение True, если пользователь выбрал какой-либо файл и нажал на кнопку Ok.

Разница между модальными и немодальными диалогами.

С точки зрения пользователя, модальные диалоги запрещают переход к любому окну программы, из которой они вызваны, а немодальные диалоги работают параллельно с программой. С точки зрения разработчика, модальный диалог приостанавливает приложение, которое вызвало этот диалог с помощью метода Execute, до закрытия диалогового окна. Поэтому фрагмент программы, использующий модальный диалоговый компонент, обычно локализован в одной подпрограмме и выглядит в виде последовательности действий:

  • Отображение диалогового окна с помощью метода Execute;
  • Анализ значения функции Execute; ,
  • Анализ свойств диалогового компонента;
  • Действия, необходимые для реакции на информацию, введенную пользователем.

При вызове метода Execute немодального диалога, выполнение программы продолжается, поэтому реакция на действия пользователя основывается, в основном, на обработке событий, предусмотренных данным диалоговым компонентом.

Основные методы и события, описанные в базовом диалоговом компоненте.

Базовым диалоговым компонентом является класс TCommonDialog, в котором описан метод Execute, отображающий диалоговое окно, и два события:

  • OnShow, возникающее при выводе диалогового окна на экран;
  • Ondose, возникающее при закрытии диалога.

Все диалоговые компоненты поддерживают эти события.

Виды стандартных диалоговых компонентов.

В стандартной поставки Delphi 7 предусмотрены следующие диалоговые компоненты:

  • Модальные диалоги для работы с файлами (открытие или сохранения).

В данную группу входят диалоги открытия и сохранения файлов OpenDialog и SaveDialog, а также диалоги открытия и сохранения графических файлов OpenPictureDialog и SavePictureDialog.

  • Модальные диалоги выбора шрифта и цвета FontDialog и ColorDialog.
  • Модальные диалоги настройки параметров печати PrintDialog, PrinterSetupDialog и PageSetupDialog.
  • Немодальные диалоги текстового поиска и замены FindDialog и ReplaceDialog.

Методы настройки функциональности диалоговых окон.

Во всех стандартных диалоговых компонентах предусмотрено множественное свойство Options, тип которого отличается для разных компонентов, поэтому данное свойство описано в каждом конкретном компоненте, а не в базовом классе TCommonDialog.

Свойства Options представляют собой множества каких-либо элементов, каждое из которых определяет одну настройку соответствующего диалогового окна. С помощью таких свойств можно:

  • Управлять наборами элементов управления, размещенными на диалоговых окнах.
  • Определять состояние (введенную информацию) некоторых элементов управления.
  • Включать или отключать контроль за действиями пользователя с целью автоматической корректировки диалогом вводимых данных.

Дополнительные возможности настройки функциональности предусмотрены в компоненте PageSetupDialog, позволяющем приложению прорисовывать макет страницы, расположенный на нем, с помощью последовательного вызова обработчиков соответствующих событий.

Понятие компонента.

Компонентами называются наследники класса TCompqnent, которые предназначены для интеграции в среду разработчика Delphi для использования их в процессе визуальной разработки.

Основные особенности компонентов, как классов Delphi.

Компонент имеет точно такую же структуру, как и любой класс в Delphi, то есть содержит конструктор, деструктор, свойства, методы и property-свойства. В дополнение к этому, компонент обладает всеми возможностями, реализованными в классе TComponent, так как является его наследником. Компоненты имеют виртуальные конструкторы, которые должны переопределяться в классах-наследниках с обязательным указанием ключевого слова override после описания. Также необходим вызов родительского варианта конструктора, для того, чтобы не нарушить жизненный цикл компонента.

Возможности property-свойств.

Property-свойства являются интерфейсом к внутренним данным экземпляра класса и могут быть доступны Инспектору объектов для изменения их значений во время визуальной разработки приложения. Данные свойства используют сложные описания, основанные на применении набора следующих модификаторов:

  • Модификаторы Read и Write определяют, соответственно, методы чтения или сохранения значения при обращении к property-свойству, причем вместо указания метода может быть использовано название внутреннего поля, подходящего property-свойству по типу. Если для получения или установки значения property-свойству используются методы, то они должны являться процедурами (для установки значения), принимающими параметр соответствующего типа, или функциями (для получения значения), возвращающими значение соответствующего типа.
  • Модификатор property-свойства index предназначен для объединения методов доступа (чтения и установки) к значениям нескольких однотипных property-свойств. После модификатора указывается целочисленное значение, которое является, фактически номером свойства. Методы доступа модифицируются добавлением параметра типа integer, в котором передается номер этого свойства.
  • Модификаторы stored, default и nodefault настраивают среду разработчика в отношении сохранения property-свойств и указывают, следует ли сохранять значение property-свойства, и в каких случаях.
  • Модификатор nodefault отменяет действие модификатора default при переопределении property-свойства.

Для доступа к массивам информации могут использоваться property-свойства, тип данных которых аналогичен массивам. Методы доступа в этом случае модифицируются дополнительным параметром, определяющим номер элемента в массиве, к которому производится обращение.

Модель сообщений компонентов.

Модель сообщений компонентов позаимствована из операционной системы Windows и позволяет компонентам обмениваться между собой сообщениями, упакованными в структуры типа TMessage.

События, используемые в Delphi, делятся на две группы:

  • Сообщения для оконных компонентов, полученные из системной очереди сообщений Windows;
  • Сообщения, созданные внутри программного продукта для передачи информации между компонентами смешанного типа.
Страница: 1 2 3 4 5 6 7