Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Важные общие свойства компонентов




Все компоненты имеют некоторые общие свойства.

Свойство Name

Свойство Name имеет для компонентов жизненно важное значение. Как упоминалось ранее, при помещении компонента в форму C++Builder переходит в фоновый режим, пока вы обдумываете свое следующее действие. Все, что C++Builder делает при этом —

При помещении компонента в форму C++Builder создает указатель на компонент и использует свойство Name в качестве имени переменной.

Например, если вы поместили компонент Edit в форму и изменили его свойство Name на MyEdit. В этом случае C++Builder поместит следующую строку в заголовочный файл формы:

TEdit* MyEdit;

После запуска приложения C++Builder создаст экземпляр класса TEdit, на который будет ссылаться указатель MyEdit. Вы можете использовать этот указатель для обращения к компоненту во время выполнения программы. Чтобы ввести текст в элемент редактирования, вам нужно сделать следующее:

MyEdit->Text = "Вася Иванов";

C++Builder использует значение свойства Name также для образования имен обработчиков событий. Допустим, вы хотите обрабатывать событие On-Change компонента Edit. Обычно вы дважды щелкаете в столбце Value рядом с событием OnChange, чтобы C++Builder сгенерировал обработчик события. C++Builder будет использовать для этой функции имя по умолчанию, основанное на значении свойства Name и имени обрабатываемого события. В нашем случае C++Builder создаст функцию с именем MyEditChange().

Вы можете изменять свойство Name в любое время, но только при условии, что вы делаете это через инспектор объектов. Когда при разработке программы вы изменяете свойство Name некоторого компонента, C++Builder просматривает весь код, который он до этого создал, и изменяет имя указателя и имена всех функций-обработчиков событий.

Если в этом же примере вы измените свойство Name элемента редактирования со значения MyEdit на FirstName, то C++Builder даст указателю имя FirstName, а обработчик события OnChange получит имя FirstNameChangeO. Все это будет выполнено автоматически; вам нужно только изменить свойство Name и положиться в остальном на C++Builder.

Для каждого компонента, помещаемого в форму, C++Builder устанавливает значение свойства Name по умолчанию. Если вы, например, размещаете компонент Edit, то C++Builder присвоит свойству Name значение Editi. Если вы поместите в форму второй компонент Edit, он получит имя Edit2, и т. д. Вам следует как можно скорее давать компонентам осмысленные имена, чтобы избежать впоследствии путаницы и лишней работы.

Свойства Left и Тор. Width и Height.

Местоположение управляющего элемента внутри формы или управляющего элемента владельца определяется значениями свойств Left и Тор. Горизонтальный и вертикальный размеры управляющего элемента хранятся в свойствах Width и Height соответственно.

Свойство Top

Определяет у-координату компонента.

Свойство Caption.

Свойство Caption содержит заголовок управляющего элемента. Установленная в свойстве текстовая строка может содержать управляющий символ амперсанд (&). Если в строке встречается амперсанд, то следующий за ним символ отображается подчеркнутым (амперсанд при этом не отображается) и называется символом-сокращением. Нажимая клавишу с изображением символа в сочетании с клавишей Alt, пользователь может активизировать управляющий элемент с помощью клавиатуры.

Свойство Align

 

Нужно только отметить, что не все компоненты отображают свойство Align во время разработки программы. Например, однострочный элемент редактирования имеет стандартную высоту, поэтому для компонентов такого типа свойство Align не имеет смысла, По мере приобретения опыта работы с C++Builder и в зависимости от типа разрабатываемых приложений, вам, возможно, придется часто использовать это свойство.

Свойство Color

Свойство Color определяет цвет фона компонента. (Цвет текста устанавливается свойством Font). Хотя использование свойства Color очень просто, здесь есть свои особенности, о которых следует сказать.

Свойство Color определяет цвет фона компонента. Управляющий элемент может иметь независимый цвет, а может брать его у своего владельца (формы или другого компонента). Это определяется значением свойства ParentColor. Если свойство ParentColor имеет значение true, то изменение цвета владельца, например формы, автоматически приводит к изменению значения свойства Color управляющего элемента, например кнопки. Однако если вы сами установите свойство Color, то свойство ParentColor автоматически получит значение false и цвет управляющего элемента станет независимым.

Если вы щелкнете в столбце Value, то увидите кнопку со стрелкой вниз, указывающую на возможность выбора цвета из списка. Но кроме этой возможности, есть еще одна. Если вы щелкнете дважды в том же столбце Value, то на экране появится диалоговое окно Color (Цвет). В этом диалоговом окне вы можете выбрать один из предопределенных цветов или создать ваши собственные цвета, нажав кнопку Define Custom Colors (Определить заказные цвета).

После выбора цвета в диалоговом окне Color вы увидите, что значение свойства Color изменилось на шестнадцатеричную строку. Эта строка представляет интенсивности красного, зеленого и синего цветов в цветовой модели RGB, необходимых для составления вашего цвета. Если вы знаете точное соотношение R:G:B вашего цвета (что маловероятно), вы можете задать это значение напрямую.

В большинстве случаев вы, вероятно, будете выбирать цвет из предлагаемого списка. Когда вы нажмете кнопку со стрелкой, то в появившемся окне увидите две группы значений.

Первая группа цветов начинается с clBlack и заканчивается clWhite. Это предопределенные цвета C++Builder; в списке представлены наиболее употребительные из них. Чтобы выбрать один из перечисленных цветов, просто щелкните на нем в списке. Если вас не устраивает ни один предложенный цвет, вы можете вызвать диалоговое окно Color, как говорилось выше.

Вторая группа цветов в списке начинается с цвета cIScrollBar. Эта группа содержит системные цвета Windows. Если вы используете цвета из этого списка, ваше приложение будет автоматически менять цвета при изменении цветовой схемы Windows. Если вы хотите, чтобы ваше приложение следовало за цветовой схемой, выбранной пользователем для своей системы, вы должны выбирать цвета только из этой части списка.

 

Свойство Ctl3D

Свойство Ctl3D определяет, какой внешний вид имеет управляющий элемент: рельефный (говоря на жаргоне — трехмерный) или плоский. Если свойство имеет значение true, то управляющий элемент имеет рельефный вид, а если false — то плоский. Свойство рельефности управляющего элемента может зависеть от рельефности его владельца (формы или другого компонента), что определяется значением свойства ParentCtl3D. Если свойство ParentCtl3D имеет значение true, то изменение рельефности владельца, например формы, автоматически приводит к изменению значения свойства Ctl3D управляющего элемента, например кнопки. Однако если вы сами установите свойство Ctl3D, то свойство ParentCtl3D автоматически получит значение false и рельефность управляющего элемента станет независимой.

Свойство Cursor

Свойство Cursor определяет вид курсора мыши во время его перемещения через компонент.

Возможные значения свойства и соответствующие им виды курсоров иллюстрирует таблица 3.2

Для некоторых компонентов Windows автоматически изменяет курсор. Например, Windows изменяет курсор на вертикальный штрих «1», когда он расположен над компонентами Edit, Memo или RichEdit (я перечислил лишь некоторые). Если вы хотите оставить управление курсором за Windows, то не изменяйте значение этого свойства, установленное по умолчанию — crDefault. Если у вас есть специализированные окна (или компоненты), то вы можете определить для них и специальный курсор. Когда курсор мыши окажется над этим компонентом. Windows изменит вид курсора на заданный вами.

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

TCursor oldCursor = Cursor; Cursor = TCursor (crHourGlass),• // некоторая длительная операция Cursor = oldCursor;

Этот код гарантирует, что курсор, первоначально использованный в приложении, будет восстановлен правильно.

Свойство DragCursor

 

Свойство DragCursor определяет вид курсора мыши, когда управляющий элемент является пунктом назначения в операции буксировки. Список возможных значений этого свойства такой же, как и у свойства Cursor

Свойство Enabled

Свойство Enabled определяет, доступен ли управляющий элемент для пользователя. Если свойство имеет значение true, то управляющий элемент доступен, а если false, то нет. Недоступный управляющий элемент обычно имеет блеклый вид.

Доступ к компонентам можно разрешить или запретить, используя свойство Enabled. Когда компонент недоступен, он не может получить фокус ввода (щелчок на таком объекте не дает никакого эффекта). Для обозначения такого компонента обычно применяется некоторый визуальный эффект. В случае кнопки, например, ее текст выделяется серым цветом, как если бы на кнопку был наложен растр. Свойство Enabled имеет логический тип и может принимать только два значения: true, если компонент доступен, и false в противном случае. Разрешение и запрещение доступа к окнам (не забывайте, что компоненты оконного типа также являются окнами) — это возможность, предоставляемая самой системой Windows.

Свойство Enabled применяется обычно к компонентам оконного типа, но может использоваться и для других компонентов. Компонент SpeedButton служит примером компонента не оконного типа, который, тем не менее, может быть заблокирован.

Хотя доступ к компонентам может быть запрещен на этапе разработки, операция разрешения/запрещения доступа обычно выполняется во время работы программы. Пункты меню, например, могут быть включены или выключены в зависимости от того, могут ли они выполняться в данный момент. То же самое относится и к кнопкам. Бывают и другие причины, по которым вы можете отключать те или иные типы элементов управления.

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

if (Button1->Enabled) Button1->Enabled=false; else Button1->Enabled=true;

Этот процесс часто называется управлением доступом к командам (command enabling) и является важной частью профессиональных программ для Windows.

Свойство Font

Свойство Font является сложным и определяет шрифт надписи на управляющем элементе. Свойство Font — экземпляр класса TFont и имеет собственные свойства Параметры шрифта задаются с помощью вложенных свойств Color, Name, Size, Style, Height. Шрифт управляющего элемента может быть независимым, а может копироваться у владельца (формы или другого компонента). Это определяется значением свойства ParentFont. Если ParentFont имеет значение true, то изменение шрифта владельца, например формы, автоматически приводит к изменению значения свойства Font управляющего элемента, например кнопки. Однако если вы сами установите свойство Font, то свойство ParentFont автоматически получит значение false и шрифт управляющего элемента станет независимым.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 939; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.