Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 81
Текст из файла (страница 81)
Borland С++ Builder385При создании интерфейса приложения для каждого компонента выполняются следующие операции:• выбор компонента в Палитре компонентов и размещение его в форме;• изменение свойств компонента.Разработчик выполняет эти операции в окне Ф о р м ы , используя Палитрукомпонентов и Инспектор объектов. При этом действия разработчика похожи на работу в среде графического редактора, а сам процесс создания интерфейса приложения больше напоминает конструирование или рисование, чемтрадиционное программирование. В связи с этим часто работу по созданиюинтерфейса называют конструированием.Выбор компонента в Палитре компонентов выполняется щелчком мыши нанужном компоненте, например на кнопке Button, в результате чего его значокпринимает утопленный (нажатый) вид.
Если после этого щелкнуть на свободном месте формы, то на ней появляется выбранный компонент, а его значок вПалитре компонентов принимает обычный (ненажатый) вид. Значки компонентов отражают назначение компонентов, и при наличии небольших практических навыков выбор нужного компонента происходит достаточно быстро.Кроме того, при наведении на каждый компонент указателя мыши отображается всплывающая подсказка с информацией о его назначении.Обозначения классов (типов объектов) в С++ Builder, в том числе компонентов, начинаются с буквы Т. Иногда типы ( T B u t t o n , T L a b e l ) используютсявместо имен ( B u t t o n , L a b e l ) для обозначения компонентов.
Мы будем использовать для компонентов имена или типы в зависимости от ситуации.После размещения компонента в форме система С++ Builder автоматическивносит изменения в файлы модуля и представления формы. В описание классаформы (заголовочный файл модуля формы) для каждого нового компонентадобавляется строчка формата<Тип компонента> *<Имя компонентамИмя нового компонента является значением его свойства Name, а тип совпадает с типом выбранного в Палитре компонента.
Например, для кнопкиButton 1 эта строчка первоначально будет иметь вид:TButton *Button1;В файле представления для кнопки Button может быть записан следующий код:object Button 1: TButtonLeft = 98Top=110Width = 75Height = 25Caption = ' Button 1'TabOrder = 0end13 Зак. 541Часть 3. Современные СУБД и их применение386Д л я размещения в форме нескольких одинаковых компонентов удобноперед выбором компонента в Палитре компонентов нажать и удерживать клавишу < S h i f t > . В этом случае после щелчка мыши в области формы и размещения там выбранного компонента его значок в Палитре остается утопленным, и каждый последующий щелчок в форме приводит к появлению в нейеще одного такого же компонента. Д л я отмены выбора этого компонента достаточно выбрать другой компонент или щелкнуть мышью на изображениистрелки в левом углу Палитры компонентов.После размещения компонента в форме можно с помощью мыши изменятьего положение и размеры.
В случае нескольких компонентов можно выполнятьвыравнивание или перевод того или иного компонента на передний или задний план. При этом действия разработчика не отличаются от действий в средеобычного графического редактора. Одновременно выделить в форме несколько компонентов можно щелчками мыши на них при нажатой клавише <Shift>.По умолчанию компоненты выравниваются в форме по линиям сетки, чтоопределяет флажок S n a p t o g r i d ( В ы р а в н и в а т ь п о с е т к е ) , входящий в наборпараметров интегрированной среды разработки. В ряде случаев этот флажокприходится отключать, например, при плотном размещении компонентов вформе.
По умолчанию шаг сетки равен восьми пикселам, а сетка при проектировании отображается на поверхности формы. Необходимость выравнивания по сетке, видимость сетки (флажок D i s p l a y g r i d ( О т о б р а ж а т ь с е т к у ) ) иразмер шага сетки по горизонтали и вертикали устанавливаются на вкладкеD e s i g n e r ( К о н с т р у к т о р ) диалогового окна E n v i r o n m e n t O p t i o n s ( П а р а м е т р ы с р е д ы ) , вызываемого одноименной командой меню T o o l s ( С р е д с т в а ) .Внешний вид компонента определяется его свойствами, которые становятся доступными в окне Инспектора объектов, когда компонент выделен в форме и вокруг него появились маркеры выделения (рис.
11.7). Доступ к свойствам с а м о й ф о р м ы о с у щ е с т в л я е т с я а н а л о г и ч н о , о д н а к о в в ы б р а н н о мсостоянии форма не выделяется маркерами. Д л я выделения (выбора) формыдостаточно щелкнуть в любом ее месте, свободном от других компонентов.Properties j Events |•[•Action[ActionCaptionEnabledOKЩtrue[All shownРис. 11.7.
Доступ к свойствам компонента11. Borland С++ Builder387В раскрывающемся списке, расположенном в верхней части окна Инспектора объектов, отображаются имя компонента и его тип. Выбрать тот или инойкомпонент и, соответственно, получить доступ к его свойствам можно в этомсписке Инспектора объектов. Такой способ выбора удобен в случаях, когдакомпонент полностью закрыт другими объектами.В нижней части окна Инспектора объектов слева приводятся имена всехсвойств компонента, которые доступны на этапе разработки приложения.Справа для каждого свойства стоит его значение.
Отметим, что кроме этихсвойств компонент может иметь и свойства, которые доступны только во время выполнения приложения.Свойства представляют собой атрибуты, определяющие способ отображения и функционирования компонентов при выполнении приложения. Первоначально значения свойств задаются по умолчанию. После помещения компонента в форму его свойства можно изменять в процессе проектированияили в ходе выполнения приложения.Управление свойствами в процессе проектирования заключается в изменении значений свойств компонентов непосредственно в окне формы («рисование») или с помощью Инспектора объектов.Разработчик может изменить значение свойства компонента, введя иливыбрав нужное значение.
При этом одновременно изменяется соответствующий компонент, т. е. уже при проектировании видны результаты сделанныхизменений. Например, при изменении заголовка кнопки (свойство C a p t i o n )оно сразу же отображается на ее поверхности.Для подтверждения нового значения свойства достаточно нажать клавишу <Enter> или перейти к другому свойству или компоненту. Отмена изменений производится клавишей <Esc>.
Если введено недопустимое для свойства значение, то выдается предупреждающее сообщение, а изменениезначения отвергается. Изменения свойств автоматически учитываются в файле описания формы, используемом компилятором при создании формы, а приизменении свойства N a m e изменения вносятся и в описание класса формы.Для большинства свойств компонентов (например, для свойств C o l o r ( ц в е т ) ,C a p t i o n ( з а г о л о в о к ) и V i s i b l e ( в и д и м о с т ь ) ) имеются значения по умолчанию.Д л я обращения к компоненту в приложении предназначено свойствоN a m e , первоначальное значение которого образуется автоматически следующим образом: к имени компонента добавляется его номер в порядке помещения в форму.
Например, первая кнопка B u t t o n получает имя B u t t o n 1, вторая — B u t t o n 2 и т. д. Первоначально от значения свойства N a m e получает своез н а ч е н и е и с в о й с т в о Caption.Обычно разработчик предпочитает дать компонентам более информативные имена, чем имена по умолчанию. При этом целесообразно включать в имяданные о типе компонента и его назначении в приложении. Так, кнопке типаT B u t t o n , предназначенной для закрытия окна, можно присвоить имя b t n C l o s e388Часть 3.
Современные СУБД и их применениеили B u t t o n C l o s e . Каждый разработчик самостоятельно устанавливает удобные правила именования компонентов. Для простоты мы будем часто использовать имена, назначаемые по умолчанию, например, F o r m l , B u t t o n 1 илиE d i t 1.Значения свойств, связанных с размерами и положением компонента (например, L e f t и Т о р ) , автоматически изменяются при перемещении компонента мышью и настройке его размеров.Если в форме выделено несколько компонентов, то в окне Инспектораобъектов доступны свойства, общие для всех этих компонентов.
При этомсделанные в окне Инспектора объектов изменения действуют на все выделенные компоненты.Для установки значений свойств в Инспекторе объектов используютсяподключающиеся автоматически редакторы свойств:• простой (текстовый) — значение свойства вводится или редактируетсякак обычная строка символов, которая интерпретируется как числовойили строковый тип С++ Builder; используется для таких свойств, какCaption, Left, Height и Hint;• перечисляемый — значение свойства выбирается в раскрывающемся списке. Список раскрывается щелчком на стрелке, которая появляется приустановке указателя мыши в области значения свойства. Можно не выбирать нужное значение, а ввести его с клавиатуры, однако на практикеэто обычно не делается, т.