Что такое properties и events в окне инспектора объектов
Инспектор объектов (Object Inspector)
Этот инструмент представляет собой отдельное окно, где можно в период проектирования программы устанавливать значения свойств и событий объектов (Properties & Events). Информация в Инспекторе объектов меняется в зависимости от компонента, выбранного на форме. Его вид и поведение можно менять с помощью Инспектора объектов.
Существует несколько типов свойств в зависимости от их «природы».
Вложенные свойства вида «множество» обычно имеют значения типа bool. Наиболее распространенным примером такого свойства является свойство Style с вложенным множеством булевых значений. Комбинированные значения отображаются в Инспекторе объектов как коллекция некоторых величин, каждый со своим типом данных (рис. 11).
Рис. 11. Отображение комбинированных значений вложенных свойств
Некоторые свойства, например, Font, для изменения своих значений имеют возможность вызвать диалоговое окно. Для этого достаточно щелкнуть по маленькой кнопке с тремя точками в правой части строки Инспектора объектов, показывающей данное свойство.
CBuilder позволяет легко манипулировать свойствами компонент как в режиме проектирования (design time), так и в режиме выполнения программы (run time).
В режиме проектирования манипулирование свойствами осуществляется с помощью Дизайнера форм или на страничке Properties Инспектора объектов.
Например, для того, чтобы изменить свойства Height (высоту) и Width (ширину) кнопки, достаточно «зацепить» мышкой за любой ее угол и раздвинуть до нужного представления. Того же результата можно добиться, просто подставив новые значения свойств Height и Width в окне Инспектора объектов.
Вышеприведенная строка устанавливает ширину компонента равной значению 35. Если свойство Width компонента еще не было равно 35 к моменту выполнения данной строки программы, то компонент визуально изменит свою ширину.
Если изменить свойства Width и Height компонента Button, то кнопка соответствующим образом изменит свои ширину и высоту.
Можно ввести элементы в список компонента ComboBox как в режиме проектирования, так и при выполнении программы. При этом в режиме проектирования можно просто ввести нужные элементы в список Items, щелкнув маленькую кнопку с тремя точками в правой части строки Инспектора Объектов, показывающей данное свойство.
Появится диалоговое окно текстового редактора (String List Editor), в котором и вводятся элементы:
7.2Формы, модули и метод разработки «Two-Way Tools»
При создании новой формы генерируется заготовка модуля.
Такая синхронизация и делает CBuilder two-way-инструментом, обеспечивая полное соответствие между кодом и визуальным представлением. Например, предположим, что добавляется описание поведения формы (соответствующий обработчик событий), чтобы показывать окно сообщения по нажатию кнопки. Такое описание появляется, если дважды щелкнуть мышкой непосредственно на объект Button в форме или на событие OnClick на странице Events в Инспекторе объектов. В любом случае CBuilder в файле .cpp создаст заголовок метода, куда можно добавить код.
void __fastcall TPr_Form::Button5Click(TObject *Sender)
Cоздавая этот код, CBuilder автоматически корректирует описание объекта TPr_Form, добавляя заголовок процедурыButton5Click в файл .h.
class TPr_Form : public TForm
void __fastcall Button1Click(TObject *Sender);
void __fastcall FormShow(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
void __fastcall Button2Click(TObject *Sender);
void __fastcall Button3Click(TObject *Sender);
void __fastcall Button4Click(TObject *Sender);
void __fastcall Button5Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TPr_Form(TComponent* Owner);
Чтобы отобразить неактивную форму, следует использовать метод ShowModal. Этот метод отображает форму и делает ее модальной, что позволяет работать с элементами управления на этой форме. При закрытии формы, активизированной с помощью метода ShowModal,свойство формы ModalResult должно получить значение из следующего набора: mrNone, mrOK, mrCancel, mrYes, mrNo. При этом форма закрывается, и значение ModalResult передается как результат метода ShowModal.
Для закрытия формы можно также использовать метод Close.
Событие OnActivate происходит, когда форма становится активной.
Прежде чем сослаться на свойство или на метод формы из метода другой формы (в предположении, что обе формы принадлежат одному проекту), необходимо выполнить пункт меню File, Include Unit Hdr (это приводит к добавлению в файл .h директив #include).
Палитра компонент
Поскольку в CBuilder программа строится визуальным образом, то все компоненты имеют свои пиктограммы, когда они размещаются на поле формы, для того, чтобы можно было ими соответствующим образом оперировать. Но у работающей программы видимыми остаются только визуальные компоненты.
Перечислим основные компоненты страницы Standardидадим некоторые пояснения.
TMainMenuпозволяет поместить главное меню в программу. Создание меню включает три шага:
· Помещение TMainMenu на форму.
· Вызов Дизайнера меню через свойство Items в Инспекторе объектов.
· Определение пунктов меню в Дизайнере меню.
Работа с Дизайнером меню.
Страница Events при работе с Дизайнером меню
TLabelслужит для отображения текста на экране. Текст задается в качестве значения свойства Caption. Для изменения шрифта и цвета текста существует свойство Font.
TEdit— поле ввода. Эта компонента может быть использована для отображения короткого фрагмента текста и позволяет пользователю вводить текст (он представляет собой значение свойства Text) во время выполнения программы.
TButton(обычная кнопка) позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. Поместив объект типа TButton на форму, по двойному щелчку можно создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом (подчеркнуто то, что нужно написать вручную):
void __fastcall TPr_Form::Button2Click(TObject *Sender)
13.7 Инспектор Объектов
Инспектор Объектов (Object Inspector) обеспечивает простой и удобный интерфейс для изменения свойств объектов Delphi и управления событиями, на которые реагирует объект.
Окно Инспектора Объектов (рис.5) имеет две страницы. В верхней части окна имеется выпадающий список всех компонентов, размещенных на форме. В нем вы можете выбрать тот компонент, свойства и события которого вас интересуют.
рисунок 5
Страница свойств (Properties) Инспектора Объектов показывает свойства того объекта, который в данный момент выделен вами. Щелкните на окне пустой формы, и на странице свойств Инспектора Объектов вы сможете увидеть свойства формы. Вы можете изменять эти свойства. Например, измените свойство Caption (надпись) вашей формы, написав в нем «Моя форма», и вы увидите, что эта надпись появится в полосе заголовка вашей формы.
Если щелкнуть на некоторых свойствах, например, на свойстве Color (цвет), то справа от имени свойства откроется окно выпадающего списка. Нажав в нём на кнопочку со стрелкой вниз, вы можете увидеть список возможных значений свойства. Например, смените значение свойства Color с принятого по умолчанию clBtnFace (цвет поверхности кнопок) на clWindow (цвет окна). Вы увидите, что поверхность формы изменит свой цвет.
Рядом с некоторыми свойствами вы можете видеть знак плюс (см., например, свойство Borderlcons на рис.5). Это означает, что данное свойство является объектом, который в свою очередь имеет ряд свойств.
Найдите, например, свойство Font (шрифт). Рядом с ним вы увидите знак плюс. Щелкните на этом плюсе или сделайте двойной щелчок на свойстве Font. Вы увидите, что откроется таблица таких свойств, как Color (цвет), Height (высота), Name (имя шрифта) и др. Среди них вы увидите свойство Style (стиль), около которого тоже имеется знак плюс. Щелчок на этом плюсе или двойной щелчок на этом свойстве раскроет дополнительный список подсвойств, в котором вы можете, например, установить в true свойство fsBold (жирный). Кстати, для смены true на false и обратно в подобных булевых свойствах не обязательно выбирать значение из выпадающего списка. Достаточно сделать двойной щелчок на значении свойства, и оно изменится. После того, как вы просмотрели или изменили подсвойства, вы можете опять сделать двойной щелчок на головном свойстве или щелчок на знаке минус около него, и список подсвойств свернется.
Страница событий (Events) составляет вторую часть Инспектора Объектов. На ней указаны все события, на которые может реагировать выбранный объект. Например, если вам надо выполнить какие-то действия в момент создания формы (обычно это различные операции настройки), то вы должны выделить событие OnCreate. Рядом с именем этого события откроется окно с выпадающим списком. Если вы уже написали в своем приложении какие-то обработчики событий и хотите при событии OnCreate использовать один из них, вы можете выбрать необходимый обработчик из выпадающего списка. Если же вам надо написать новый обработчик, то сделайте двойной щелчок на пустом окне списка. Вы попадете в окно Редактора Кода, в котором увидите текст:
procedure TForm1.FormCreate(Sender: TObJect);
begin
end;
Курсор будет расположен в пустой строке между ключевыми словами begin и end. Увиденный вами код — это заготовка обработчика события, которую автоматически сделала Delphi. Вам остается только в промежутке между begin и end написать необходимые операторы.
Если вы сделали эти операции, то вернитесь в Инспектор Объектов, выделите в нём, например, событие OnActivate и нажмите в нем кнопку выпадающего списка. Вы увидите в нем введенный вами ранее обработчик события OnCreate. Если вам надо использовать тот же самый обработчик и в событии OnActivate, просто выберите его из списка. Таким образом вы м о жете избежать дублирования в программе одних и тех же фрагментов кода.
Пользуясь Инспектором Объектов, вы можете получить контекстную справку по свойствам или событиям. Для этого выделите в окне Инспектора Объектов интересующее вас свойство или событие и нажмите клавишу F1.
Начиная с Delphi 5, в Инспектор Объектов введена возможность фильтрации свойств и событий и возможность группировать их по категориям. Для того чтобы воспользоваться этими возможностями, щелкните в окне Инспектора Объектов правой кнопкой мыши. Во всплывшем меню вы можете выбрать раздел View. Вам будет показан ряд категорий свойств и событий. Около каждой категории имеется индикатор. Вы можете включить индикаторы только у некоторых категорий и тогда в Инспекторе Объектов вы увидите события и свойства только указанных категорий. Выбор раздела Toggle переключит видимость разделов: те, которые были видимы, станут невидимы и наоборот. Выбор раздела Аll сделает видимыми все свойства и события, а выбор раздела None сделает все события и свойства невидимыми. Внизу окна Инспектора Объектов указывается, сколько свойств или событий невидимо в данный момент.
В том же меню, всплывающем при щелчке правой кнопкой мыши в окне Инспектора Объектов, вы можете выбрать раздел Arrange и в нем установить одну из двух возможностей: by Name — упорядочить свойства и события в алфавитной последовательности их имен, или by Category — упорядочить их по категориям. При упорядочивании по категориям форма представления событий и свойств кардинально меняется. В окне отображаются категории с символами «+», при щелчке на которых раскрывается список элементов, относящихся к данной категории. При этом некоторые свойства могут попасть одновременно в несколько категорий. Но это не имеет значения: вы можете менять их значения в любой категории и они синхронно изменятся во всех остальных категориях.
Описанные возможности Инспектора Объектов по фильтрации и упорядочиванию информации существенно упрощают работу с трудно обозримым множеством свойств, присущих многим компонентам библиотеки.
Очень полезной особенность. Инспектора Объектов в Delphi 7 и 6 является отображение компонентов, на которые имеются ссылки в данном компоненте. Тем, кто только начинает знакомиться с Delphi, это, может быть, не совсем понятно. Так что поясню. Дело в том, что одни компоненты часто ссылаются на другие, используемые для каких-то целей. Например, на форме обычно располагается компонент главного меню MainMenu, на который ссылается форма. А этот компонент, в свою очередь, ссылается на список изображений — компонент ImageList. И подобных ссылок на присоединенные компоненты и объекты в приложениях довольно много. В Инспекторе Объектов Delphi 7 и в, во-первых, свойства, в которых могут содержаться ссылки на другие компоненты или объекты, выделяются красным цветом. А главное — если в подобном свойстве действительно записана ссылка, то около этого свойства появляется символ «+». Если щелкнуть на нем, то раскроется список свойств присоединенного компонента. Эти свойства выделяются зеленым цветом, чтобы не путать их со свойствами самого компонента.
Таким образом, не выходя из окна Инспектора Объектов и не делая лишних движений, можно задать свойства целой цепочки присоединенных объектов. Очень удобно.
Присоединенные объекты присутствуют и на странице событий Инспектора Объектов. Таким образом, и обработчики событий цепочки присоединённых компонентов можно задавать, не выходя из окна Инспектора Объектов.
Всё, что представлено на этом сайте, копировать запрещено!
Окно инспектора формы.
1. Окно инспектора объектов содержит две страницы: Properties и Events. Страница Properties служит для установки нужных свойств компонента, страница Events позволяет определить реакцию компонента на то или иное событие. В верхней части инспектора объектов располагается раскрывающийся список всех компонентов, помещенных на форму. Просмотрите свойства формы, представленные на странице Properties.
2. По умолчанию заголовок окна совпадает с заголовком формы: Form1.Измените свойство Caption c Form1на Лабораторная работа №1.Для этого щелкните мышью по строке Caption и в правой части измените текст заголовка.
3. Обратите внимание на свойство Name. Это свойство определяет имя компонента, под которым компонент будет известен программе. Первое время можно оставлять имя таким, какое задает Delphiпо умолчанию. Так Вы запомните названия компонентов. В дальнейшей работе рекомендуется задавать компонентам имена «со смыслом» вместо однотипных имен, которые «придумывает» Delphi.
4. Поместите на форму компонент Panel1.Осуществите прогон пустой программы. В рабочем приложении максимизируйте окно, а затем закройте его.
5. Задайте свойству Align компонента Panel1значение alBottom.Свойство Align указывает способ выравнивания размещаемого компонента относительно того контейнера, в котором он размещается. Осуществите прогон программы. В рабочем приложении максимизируйте окно, а затем закройте его. Размер панели при таком размещении изменяется пропорционально форме.
6. Очистите свойство Caption для компонента Panel1.
7. Отбуксируйте сторону компонента Panel1,ухватившись за верхний обрамляющий черный квадратик. Установите высоту панели приблизительно равную 175.Обратите внимание на то, что это значение установилось в свойстве Height инспектора объектов.
8. Поместите на форму компонент Panel2и расположите его на левой стороне (свойству Align задайте значение alLeft). Очистите свойство Caption. Ширину панели измените, установив значение 233в свойстве Width инспектора объектов.
9. Поместите на форму компонент Memo1(многострочный редактор) и задайте свойству Align значение alClient.Компонент займет всю оставшуюся часть формы.
11. Установите на панель Panel2метку Label1.Свойству WordWrap придайте значение True.Свойство WordWrap разрешает/отменяет разрыв строки на границе слова. Свойству Caption придайте значение «Введите значение веса в граммах».
12. Установите на панель Panel2 редактор Edit1.Очистите свойство Text.
13. Установите на панель кнопку Button1.Задайте свойству Caption значение «Ввод». Щелчком по правой части строки свойства Font раскройте диалоговое окно настройки шрифта и измените высоту шрифта.
14. Установите на панель кнопку BitBtn1,которая находится на панели Additional. Измените свойство Kind на bkClose.Для компонентов TBitBtnсвойство Kind (сорт) определяет типовые функции, которые реализует кнопка в диалоговых окнах. Значение bkClose определяет типовую функцию закрытия окна, которая будет связана с этой кнопкой. Увеличьте размеры кнопки.
15. Выделите кнопку Button1.В инспекторе объектов отразятся свойства кнопки Button1.Щелкните по закладке Events. На этой закладке перечислены события, на которые откликается кнопка. Дважды щелкните по правой части строки события OnClick. В ответ Delphiактивизирует окно программы. Событие OnClick возникает в работающей программе при щелчке по кнопке мышью.
1. Окно программы предназначено для создания и редактирования текста программы. Этот текст составляется по специальным правилам и описывает алгоритм работы программы. Первоначально окно кода содержит минимальный исходный текст, обеспечивающий нормальное функционирование пустой формы в качестве полноценного Windows-окна. В ходе работы над проектом программист вносит необходимые дополнения, чтобы придать программе нужную функциональность. Используя линейки прокрутки, просмотрите содержимое окна программы.
2. Вместе с окном кода обычно активизируется также окно навигатора кода, облегчающее поиск нужных элементов в случае, когда в окне набрано много строк кода. При разработке несложных учебных программ можно закрыть это окно маленькой кнопкой с крестиком в его верхнем правом углу. Восстановить закрытое окно броузера можно после щелчка правой кнопкой мыши по окну программы и выбора опции View/Code Explorer. Закройте, откройте и вновь закройте окно броузера.
3. Дважды щелкнув по правой части строки события OnClick, вы заставили Delphiсамостоятельно сделать заготовку для процедуры обработчика события OnClick.
procedure TForm1.Button1Click(Sender: TObject);
Между операторными скобками Begin и End введите следующие операторы языка Object Pascal:
Memo1.Lines.Add(FormatFloat(‘####.## Граммов =’, x) +
FormatFloat(‘####.## Фунтов’, y));
Дополните описание переменных модуля. После var Form1: TForm1; добавьте x,y: real;
В первом операторе присваивания содержимое окна редактора преобразуется в вещественное число. Второй оператор присваивания – формула пересчета. Для отражения результата расчета в окне TMemoиспользуется метод Add этого компонента. Метод Add класса TStringListдобавляет новую строку к имеющемуся в Lines набору строк. Добавленная строка отображается на экране. Параметром метода является строковая переменная. Строковая переменная складывается из строкового представления вещественных переменных x и y. Функция FormatFloat форматирует значение с помощью описанного формата.
5. Минимизируйте окно Delphi и удалите все файлы в каталоге Lab1.
Caldera Forms — формы, в которых есть все
Инспектор объектов
Открыть окно «Инспектор объектов» можно двумя способами:
выполнить команду главного меню «Вид > Инспектор объектов» ;
В верхней части окна «Инспектора объектов» расположен раскрывающийся список, содержащий все компоненты проектируемой формы. В список входит также и сама форма. После выбора элемента списка он выделяется на форме. Инспектор объектов отображает свойства выбранного элемента. Если отмечено несколько объектов, то в инспекторе отображаются только общие свойства выбранных объектов.
В инспекторе объектов доступно контекстное меню, содержащее следующие команды:
Справка по данному свойству/событию;
Перейти в инспектор классов.
Для вызова справки также можно выделить необходимое свойство/событие и нажать клавишу F1.
Свойства
Вид редактора значения зависит от типа свойства:
События
Работа с событиями в инспекторе объектов производится почти так же, как и с перечислимыми свойствами. В список допустимых значений для событий входят имена подходящих подпрограмм текущего модуля. Двойной щелчок в правой колонке события приводит к автоматической генерации заготовки подпрограммы-обработчика события.
Если в качестве обработчика события ввести имя несуществующей подпрограммы, то заготовка подпрограммы-обработчика с таким именем также будет вставлена в окно редактирования.
Переименовать обработчик события можно, отредактировав его имя в инспекторе объектов.
Глава 10. Инспектор объектов
В этой главе дается описание окна, в котором производится редактирование размеров окон, шрифт и цвет текста, вид кнопок и т. п., именуемых в среде разработки свойствами объектов.
Инспектор объектов (Inspector Object) предназначен для редактирования свойств объектов (форм и визуальных компонентов) во время разработки программы. С его помощью можно установить начальные свойства объектов и назначить обрабатываемые события. Рассмотрим окно инспектора объектов (рис. 10.1).
Рис. 10.1. Окно инспектора объектов
В верхней части окна инспектора находится поле выбора объектов, в котором отображается название выбранного объекта. Для выбора нового объекта необходимо открыть выпадающий (раскрывающийся) список щелчком левой кнопки мыши по кнопке со стрелкой. Затем выбрать необходимый объект из списка. После этого можно редактировать свойства выбранного объекта. Второй способ выбора объекта заключается в том, что производится щелчок левой кнопкой мыши по самому объекту. Третий способ выбора объекта состоит в том, что производится щелчок левой кнопкой мыши по названию объекта в окне просмотра дерева объектов Object TreeView (рис. 10.2).
Рис. 10.2. Окно просмотра дерева объектов
Ниже поля выбора объектов находятся кнопки вкладок свойств Properties и событий Events. На вкладке Properties располагаются все не скрытые свойства выбранного объекта. Вкладка состоит из двух полей. В левом поле отображается название свойств, а в правом — их значение. Свойства могут быть вложенными с обозначением плюса в квадратике, расположенном левее названия свойства. Для их раскрытия и редактирования необходимо щелкнуть левой кнопкой мыши по этому значку, а затем по самому свойству. Если свойств много, их можно просматривать с помощью кнопки прокрутки. Например, свойство Caption отражает заголовок объекта, а свойство Name — имя объекта.
На вкладке Events располагаются события, на которые может реагировать объект. Она позволяет связать объект с событиями, происходящими в момент выполнения программы. Вкладка Events разделена на два поля. В левом поле отображаются названия событий, на которые может реагировать объект, а в правом — название методов их обработки, или проще, функций-подпрограмм обработки. Для создания обработчика необходимо выполнить двойной щелчок левой кнопкой мыши в правом поле напротив названия выбранного события. При этом появится окно редактора кода, в котором автоматически создастся заготовка текста программы обработчика события. Между фигурными скобками заготовки разработчиком вводится код программы обработки события. В результате при возникновении описанного события для выбранного объекта будет выполняться данная программа. Например, событие OnClick означает щелчок левой кнопкой мыши по объекту.
Теперь запустите программу, выполнив команду Run из главного меню или из панели быстрых кнопок или нажав клавишу на клавиатуре. После компиляции программа запустится и появится окно, подобное приведенному на рис. 10.3.
Рис. 10.3. Окно программы
Щелкните левой кнопкой мыши на кнопке Выход, и приложение закроется. Программа работает и уже выполняет команды, пусть даже такие простые. Если в программе имеются ошибки и она не будет закрываться, выполните команду Program reset из главного меню или нажмите комбинацию клавиш + на клавиатуре. После чего проверьте программу и, устранив ошибки, запустите снова.
Рис. 10.4. Окно контекстного меню команд
Для доступа к дополнительным командам и настройкам инспектора объектов необходимо нажать правую кнопку мыши на окне инспектора. При этом на экране появится окно контекстного меню команд (рис.10.4).
В этом окне содержатся команды просмотра View свойств и событий по группам размещения (упорядочивания) Arrange записей полей по категории или имени, размещения окна поверх всех других окон Stay on Top, скрытия окна Hide, вызова справки Help, изменения настроек Properties и пр. После щелчка левой кнопкой мыши по команде настроек Properties откроется окно настроек инспектора объектов (рис. Ю.5). Это же окно можно открыть, вызвав команду главного меню Tools Environment Options и затем открыв вкладку Object Inspector.
В данном окне можно настроить цвета записей свойств и событий на полях инспектора объектов, а также осуществить выбор Options отображения некоторых свойств и событий, в том числе и тех, на которые имеются ссылки References.
При изучении визуальных компонентов и разборе новых примеров программ мы еще не раз вернемся к инспектору объектов. А пока для закрепления материала на практике самостоятельно попробуйте изменить некоторые свойства формы и кнопки и посмотрите, что при этом получается при выполнении программы.
Рис. 10.5. Окно настроек инспектора объектов