Характеристика компонентов
Компоненты (объекты, как это принято в самом Delphi и в языках Visual Basic, Visual C++) являются структурными единицами и из них строится приложение. Они делятся на визуальные (видимые, управляющие или элементы управления) и невизуальные (системные). Все базовые компоненты (базовые объекты, классы) находятся в библиотеке визуальных компонентов VCL (Visual Component Library). Все элементы этой библиотеки являются классами, но не все элементы являются компонентами. Все элементы разработаны на Delphi, поэтому они связаны со средой Delphi и представляют собой дерево (иерархию) классов с корневым узлом TObject. Имя любого класса начинается с буквы «T» (тип объекта). Потомок класса наследует все свойства и методы своего родителя. Класс TControl является базовым для всех визуальных компонентов. Исходные тексты элементов находятся в каталоге Source корневого каталога Delphi. Все визуальные компоненты можно разбить на две группы: оконные (кнопки Button, поля редактирования Edit) и неоконные элементы управления (кнопки быстрого доступа SpeedButton). Оконные элементы могут получать фокус ввода (активизироваться), что визуально определяется курсором редактирования или черным прямоугольником, имеют дескриптор окна, используемый Windows для его идентификации и возможности обращения к нему. Неоконные элементы не могут получать фокус и быть родителями, нет дескриптора окна, и они используют меньше ресурсов. Визуальные компоненты имеют много общих свойств, методов и событий, которые рассматриваются далее в этом разделе, и описание их обычно не будет приводиться в последующих разделах при описании компонентов, в которых они используются, а будут приводиться только специфичные свойства, методы и события для отдельных компонентов.
Размещение и настройка компонентов на форме Для каждого компонента интерфейса приложения выполняются операции выбора нужного компонента из палитры компонентов (щелчок мышки по кнопке с изображением нужного компонента) и размещения выбранного компонента на форме (перемещение по диагонали прямоугольника, нужного размера и на требуемом месте формы, указателя мыши при нажатой левой клавише мышки) и изменения его свойств через окно Инспектора объектов (п. 2.1.1). Если нужно разместить несколько одинаковых компонентов, то при первом выборе с нажатой клавишей Shift компонент будет закреплен и не нужно повторно выбирать этот компонент перед размещением его на форме. Для отмены закрепления выберите другой компонент или щелкните на первой кнопке со стрелкой в палитре компонентов. Щелчок по компоненту выделяет его. Для выделения группы объектов нужно дополнительно нажать клавишу Shift или обвести мышкой эти компоненты прямоугольником. После размещения компонента мышкой можно изменить его размеры и местоположение. После размещения компонента в файл модуля формы добавляется строка: <название компонента (свойство Name)>:<тип компонента>, а в файл описания компонента добавятся строки с его свойствами. Пример при размещении кнопки (Button) под именем Button1: Button1:TButton //описание объекта типа TButton в модуле формы На странице Preferenses (предпочтения) окна Environment Options, вызываемого командой Tools/Environment Options, имеются поля: Grid (флаг выравнивания компонента по узлам сетки), Display grid (вывод сетки на форме), Grid size X, Grid size Y (размеры шага сетки по горизонтали и вертикали в пикселях). Каждый компонент имеет набор свойств, которые отображаются в окне Инспектора объектов (п.2.1.1). Свойства предназначены для задания внешнего вида и поведения компонентов. Большинство свойств имеют значения по умолчанию. Пользователь настраивает компонент путем изменения значений нужных свойств в окне Инспектора. Для утверждения нового значения нажимается клавиша Enter или делается переход к следующему свойству или компоненту, а для отмены введенного значения нажимается клавиша Esc сразу после ввода.
Cуществуют следующие редакторы для ввода значений свойств. Текстовый ‑ ввод строки символов или числа (например, Caption). Перечисляемый ‑ значение вводится непосредственно или выбирается из раскрывающегося списка. Если в списке всего два значения, то новое значение можно получить двойным щелчком (например,Visible). Составной ‑ свойство (составное свойство) содержит список подсвойств, каждое из которых можно редактировать. Перед именем такого составного свойства указан знак «+». Двойной щелчок раскрывает этот список и знак «+» заменяется на «‑«(например, +Font). Кнопка с троеточием служит для вызова специального редактора установки значения (например, Font). Значения свойств можно изменять и в программе в виде: <имя объекта (значение свойства Name)>. <имя свойства> := <выражение> Пример: Label1.Caption:=’Фамилия сотрудника?’; Если свойство составное, то подсвойство уточняется слева свойством и т.д. Пример: Label1.Font.Color:=clRed;//Color подсвойство свойства Font. Компонент может быть размещен внутри другого компонента, называемого контейнером (например, кнопки в контейнере ‑ панели). Существуют свойства, недоступные через инспектор объектов (например, RecordCount) и есть свойства, которые нельзя изменять при выполнении программы. Свойства 2.1.7.1. Имя объекта Name - имя объекта (компонента, элемента) для ссылки на объект в программе. Каждый объект имеет имя. Имя содержит латинские буквы, цифры и знаки подчеркивания и не может начинаться с цифры. Имя формируется автоматически при создании объекта (имя класса без первой буквы «T» и порядковый номер экземпляра объекта данного класса), но для наглядности рекомендуется изменять имя, давая ему смысловое обозначение. 2.1.7.2. Внешний вид объекта Caption ‑ содержит текст, который будет отображаться вместе с объектом, например, на командной кнопке или в заголовке формы. Если нужно подчеркнуть определенный символ, то перед ним указывается символ «&». Такой символ (акселератор) выполняет роль клавиши быстрого доступа для командной кнопки и, нажав ее одновременно с клавишей Alt, имитируется нажатие самой кнопки.
Пример: Button1.caption:=’&Выход’//клавиша быстрого доступа B BorderStyle ‑ определяет рамку из одиночной линии вокруг объекта (sbsSingle) или ее отсутствие (sbsNone), «вдавленность» текста (sbsSunken). Color‑ цвет фона объекта, например, формы или кнопки. Цвет задается в виде четырехбайтного шестнадцатеричного числа от 0 до 2FFFFFF: первый байт содержит номер палитры, обычно $00 (системный цвет), следующие три байта содержат числа от 0 (выключен) до FF (максимальная интенсивность), выражающие RGB‑интенсивность смешиваемых цветов красного, зеленого и синего. Для удобства цвета можно задавать именованными константами: clAgua (ярко‑голубой), clBlack (черный), clBlue (голубой), clGray (серый), clGreen (зеленый), clLime (ярко‑зеленый), clMaroon (темно‑красный), clNavy (темно‑синий), clOlive (оливковый), clPurple (фиолетовый), clRed (красный), clSilver (серебряный), clTeal (бирюзовый), clWhite (белый), clYellow (желтый). Следующие константы задают системные цвета Windows: clBackGround (фон окна), clActiveCaption (заголовок активного окна), clInactiveCaption (заголовок неактивного окна), clMenu (фон меню), clWindow (фон окна), clWindowFrame (рамка окна), clMenuText (пункт меню), clWindowsText (текст внутри окна), clCaptionText (текст заголовка активного окна), clInactiveCaptionText (текст заголовка неактивного окна), clActiveBorder (рамка активного окна), clInActiveBorder (рамка неактивного окна), clAppWorkSpace (рабочая область приложения), clHighlight (фон выделенного текста), clHighlightText (выделенный текст), clBtnFace (кнопка), clBtnShadow (тень кнопки), clGrayText (неактивный интерфейс элемента), clBtnText (текст кнопки), clBtnHighlight (подсвеченная кнопка), clScrollBar (полоса прокрутки), cl3DdkShadow (теневая сторона объемных элементов), cl3DLight (яркая сторона объемных элементов), clInfoText (текст инструментальных средств), clInfoBk (фон инструментальных средств). Пример: Edit1.Color:=clRed; //красный фон поля. Ctl3D ‑ задает вид визуального компонента: объемный (True). Font ‑ определяет шрифт, применяемый при отображении текста. Для установки атрибутов шрифта в программе используются подсвойства: Name (имя шрифта), Size (размер шрифта в пунктах; один пункт равен 1/72 дюйма), Height (размер шрифта в пикселях; если размер положителен, то он содержит и межстрочный интервал), Style (стиль шрифта ‑ комбинация следующих констант (подсвойств): fsBold (полужирный), fsItalic (курсив), fsStrikeOut (зачеркивание), fsUnderLine (подчеркивание)), Color (цвет текста). Свойства Size и Height зависят друг от друга.
Пример установки синего цвета текста и зеленого цвета фона метки: Lab1.Font.Color:=clBlue;{синий текст} Lab1.Color:=clGreen;{зеленый фон} Transparent ‑ прозрачный объект (True) или нет (False). Visible‑ определяет, является ли объект видимым (True) или невидимым. Images ‑ список картин, используемых в дочерних объектах (п.2.3.7.2). WordWrap ‑ перенос слов при переполнении длины на другую строку. 2.1.7.3. Размеры объекта AutoSize ‑ размер объекта определяется его надписью или изображением на его поверхности (True). Height, Width ‑ высота и ширина объекта в пикселях. 2.1.7.4. Местоположение объекта Align - выравнивание объекта относительно контейнера в котором находится объект (форма или панель): alNone (без выравнивания), alTop (по верхней стороне), alBottom (по нижней стороне), alLeft (по левой стороне), alRight (по правой стороне), alClient (занимает весь контейнер). Пример: Panel1.Align:=altop;//выравнивание по верхней стороне. Top, Left‑ адрес левого верхнего угла объекта относительно контейнера (например, экрана, формы или панели), содержащего этот объект. Размеры и местоположение объекта можно изменять мышкой, перетаскивая ее за края рамки выделенного объекта. 2.1.7.5. Перемещение объекта DragCursor ‑ определяет вид указателя мышки при перемещении объекта. Значения аналогичны значениям свойства Cursor (п. 2.1.7.9). DragMode ‑ разрешается (dmAutomatic) или запрещается (dmManual) перенос объекта мышкой при выполнении приложения. 2.1.7.6. Доступ к объекту Enabled ‑ разрешает (True) или блокирует (False) работу с объектом. Визуально заблокированный объект выглядит затененным, тусклым. Пример: Button1.Enabled:=False; //блокировка кнопки Button1. Handle ‑ идентификатор (дескриптор) окна объекта в системе Windows. Используется в функциях Windows для доступа к окнам объектов, например, для посылки сообщений окну (п. 1.7.10; 2.3.3.1). ReadOnly ‑ только чтение/редактирование значения объекта (True/ False). Программным способом можно изменять значение объекта независимо от значения ReadOnly. ShowAccelChar ‑ символ «&» указывает на клавишу ‑ акселератор (True). TabStop ‑ возможность получения фокуса (True). TabOrder‑ номер (отсчет с нуля) в последовательности обхода клавишей Tab объектов в контейнере. По умолчанию последовательность определяется порядком размещения объекта в контейнере. Порядок можно задать и командой Edit/Tab Order.
2.1.7.7. Значение объекта Tag - содержит любое целое числовое значение, которое помещается для временного хранения, например для передачи информации между формами: Form2.Tag=2. Text ‑ определяет текущее значение объекта. Пример. Edit1.Text:=’Иванов’;...Fam:=Edit1.Text; //поле ввода 2.1.7.8. Меню AutoPopup‑ вывод контекстного меню (True) (п.2.3.8.2). PopupMenu ‑ выводимое контекстное меню при AutoPopup=True (п.2.3.8.2). 2.1.7.9. Вид указателя мыши Cursor ‑ определяет вид указателя мышки: crDefault (умалчиваемый вид, обычно стрелка), crNone (отсутствует), crArrow (стрелка), crCross (крест), crHourGlass (песочные часы), crAppStart (песочные часы со стрелкой), crNo (знак запрета), crHandPoint (поднятый вверх указательный палец), crBeam (вертикальная линия с горизонтальными линиями на концах ‑ курсор редактирования), crSize (крестообразные стрелки), crHelp (стрелка с вопросом) и другие. В качестве указателя можно использовать рисунок в файле ресурсов формата Cur или Res, указав номер этого рисунка. 2.1.7.10. Справочная система HelpContext ‑ указывает номер раздела справочной системы, который выводится при нажатии клавиши F1, когда объект в фокусе (п. 5.1). ShowHint ‑ вывод подсказки (True). Hint ‑ устанавливает текст всплывающей подсказки, которая появляется при помещении курсора мыши на поверхности объекта, если ShowHint=True. В строке подсказки, после символа «|», может следовать более развернутая длинная подсказка, которая обычно выводится в строку статуса. Для этого нужно сделать следующее. Разместить простую строку статуса StatusBar1 (п.2.3.1.3), компонент ApplicationEvents (п.2.3.8.6) и для его события OnHint написать обработчик: Procedure TForm1.ApplicationEvents1Hint(Sender: TObject); Вegin Form1.Statusbar1.SimpleText:=Application.Hint;{(п.2.2.2.2)} End; Программным способом можно создать многострочную подсказку, включив символ Enter с кодом 13: Пример: Button1.Hint:=’Удалить файлы’#13+NameFiles. 2.1.7.11. Наследование родительских свойств ParentXXX (например, ParentColor, ParentCtl3D, ParentFont или ParentShowHint) ‑ указывает (True), что значение свойства XXX приравнивается значению одноименного свойства из родительского компонента. Это позволяет наследовать значения свойств своих родителей. События
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|