Видимость компонента во время работы приложения определяется свойством

  • Главная
  • Directory
  • Properties
  • Visible – видимость компонента

Запись была обновлена

Описание


Свойство Visible определяет видимость компонента во время выполнения. Если Visible = true, то компонент становится видимым; если Visible = false, то компонент становится невидимым, исчезает для пользователя. Если устанавливается в false свойство Visible компонента-контейнера, то становятся невидимыми и все расположенные на нем дочерние компоненты, независимо от значения их свойств Visible. Если свойство Visible ранее невидимого компонента-контейнера устанавливается в true, то становятся видимыми и все его дочерние компоненты, у которых Visible = true.
Свойство Visible позволяет проектировать на одном и том же месте формы несколько панелей, соответствующих различным режимам работы приложения, и в нужные моменты делать одну из них видимой, а остальные невидимыми.
Свойство Visible может также активно использоваться для разделов меню. Очевидно, что обычно не все разделы меню имеют смысл при любых режимах работы приложения. Ненужные разделы можно делать недоступными задавая значения false их свойствам Enabled. В этом случае они будут видны серыми и недоступными, но размер меню не изменится. А если их делать невидимыми, то они видны не будут, оставшиеся разделы меню сомкнутся и все будет выглядеть более компактно.
Прямое задание значений true и false свойству Visible можно заменить вызовами методов Show и Hide. Первый из них делает компонент видимым и устанавливает Visible в true. А второй делает компонент невидимым и устанавливает Visible в false.

Классы


TControl

Определение


property bool Visible

Пример


Пусть в приложении в одном и том же месте формы друг на друге расположены две панели: Panel1 и на ней Panel2, содержащие какие-то управляющие компоненты для разных режимов работы. Panel2 расположена на Panel1, которая является, таким образом, ее родителем. В обработчик события формы OnCreate можно вставить Операторы:

Panel2->Visible = false;
Panel1->Visible = true;
Panel2->Parent = Form1;
Panel2->BoundsRect = Panel1->BoundsRect;

Табаков Юрий

Табаков Юрий

Программист

Автор и редактор проекта CuBook.PRO. Главная задача, которую я ставлю перед собой – донести до начинающих программистов удобочитаемый материал. Буду рад выслушать замечания и предложения. Не забываем ставить оценки и делать репосты =)

  Имя свойства Краткое описание Align Свойство Align определяет, как поведет себя компонент при изменении размеров содержащего его родительского компонента. AllowDrag Свойство AllowDrag определяет возможность взять у компонента перетаскиваемый объект. AllowDrop Свойство AllowDrop определяет, будет ли возможность у компонента принять перетаскиваемый объект. Anchors Свойство Anchors возвращает настройки, определяющие в процентном соотношении изменение размеров текущего компонента при изменении размеров родительского компонента. Brush Свойство Brush определяет кисть, используемую для заливки области компонента. ClientHeight Свойство ClientHeight используется для получения или задания высоты клиентской области компонента. ClientWidth Свойство ClientWidth используется для получения или задания ширины клиентской области компонента. Color Свойство Color определяет цвет фона компонента. ComponentCount Свойство ComponentCount возвращает количество дочерних компонентов. Components Свойство Components возвращает дочерний компонент. Cursor Свойство Cursor определяет вид курсора над компонентом. Data Свойство Data предназначено для хранения любых пользовательских данных. Enabled Свойство Enabled определяет доступность компонента для пользователя. Focused Свойство Focused возвращает True, если фокус установлен на данном компоненте. Font Свойство Font определяет множество характеристик, описывающих шрифт, используемый при отображении текста. Height Свойство Height определяет высоту компонента. HelpContext Свойство HelpContext определяет уникальный индекс раздела контекстно-зависимой справки для данного компонента. Hint Свойство Hint определяет текст подсказки для компонента. Left Свойство Left определяет координату левого края компонента. Menu Свойства Menu определяет пользовательское меню, который будет отображаться при нажатии на кнопку. Name Свойство Name определяет наименование компонента. Parent Свойство Parent определяет родительский компонент. ParentColor Свойство ParentColor определяет, будет ли для компонента заимствован цвет родительского компонента. ParentFont Свойство ParentFont определяет, будет ли для компонента использоваться шрифт родительского компонента. ParentShowHint Свойство ParentShowHint определяет условие отображения всплывающей подсказки. PopupMenu Свойство PopupMenu определяет контекстное меню, которое будет появляться при щелчке дополнительной клавишей мыши на компоненте. RightArrow Свойство RightArrow определяет направление стрелок и соответственно расположение всплывающего списка. Scrolls Свойство Scrolls возвращает параметры полос прокрутки компонента. ShowHint Свойство ShowHint включает и выключает показ всплывающего окна подсказки для компонента. StayPressed Свойство StayPressed определяет, будет ли нажата кнопка до момента закрытия всплывающего меню. TabOrder Свойство TabOrder определяет позицию компонента в последовательности табуляции. TabStop Свойство TabStop определяет признак необходимости компоненту получать фокус при нажатии кнопки «TAB». Tag Свойство Tag не используется компилятором. Пользователь может изменить значение свойства Tag и использовать его по своему усмотрению. Text Свойство Text определяет строку, идентифицирующую компонент для пользователя. Top Свойство Top определяет координату верхнего края компонента. Visible Свойство Visible определяет видимость компонента во время выполнения. Width Свойство Width определяет ширину компонента.

Урок 6. Базовые классы элементов управления

Напомним, иерархия базовых классов имеет следующий вид:

Рисунок 1

Визуальные и невизуальные компоненты

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

Компоненты:

Невизуальные компоненты
не имеющие представления на экране, и не взаимодействующие с пользователем

Визуальные компоненты, называемые также элементами управления, имеющие визуальное представление и возможность взаимодействия с пользователем

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

Невизуальные компоненты

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

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

Базовый класс визуальных компонентов — TControl

Группа визуальных компонентов (элементов управления) строится на основе класса TControl, описывающим свойства, методы и события, присущие всем элементам управления, такие как:

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

Общие свойства визуальных компонентов

Местоположение и размер визуального компонента

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

Рисунок 2
Значения свойств задаются в пикселах.
Система координат рабочей области: начало отсчета находится в левом верхнем углу. Оси направлены вправо и вниз. Под рабочей областью понимается та часть площади владельца (формы, панели), которая предназначена для размещения дочерних элементов. Эти свойства можно использовать как на этапе разработки, так и во время выполнения.

Выравнивание элемента управления

Для выравнивания компонента в рабочей области его владельца (обычно это форма) применяется свойство Align.
Может принимать следующие значения: alNone, alTop, alBottom, alLeft, alRight, alClient.
При значении alNone выравнивание отсутствует. При следующих четырех значениях выравнивание осуществляется по соответствующей стороне. Значение alclient приводит к тому, что элемент управления изменяет свои размеры до размеров рабочей области владельца.

Свойство Anchors («Якорь»)  обеспечивает фиксацию элемента управления по сторонам владельца. Сложное свойство, которое содержит следующие подсвойства
akTop – фиксация по верху,
akLeft – фиксация по левой стороне,
akRight – фиксация по правому краю,
akBottom – фиксация по нижнему краю.

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

Если по вертикали или горизонтали установлены оба якоря, то при изменении размеров владельца размер элемента управления изменяется таким образом, чтобы расстояния до сторон владельца остались неизменными.

Задание 1. Установить на форму две панели (на странице Standart) panel1 и panel2 и осуществить выравнивание первой панели по верху форму, а второй панели на всё оставшееся место формы. Использовать свойство Align.

Задание 2: Посмотреть как работает якорь.

Ход решения:

Задайте размеры формы 250х250. Установите компоненты Memo и кнопку (см.рис.3).


Рисунок 3

Установите для кнопки якорь по правой и нижней стороне. Для этого в подсвойствах свойства Anchors установите следующие значения:

akTop – false, akLeft – false, akRight – true, akBottom – true.

Запустите программу и увеличьте размеры формы. Как поведет себя кнопка? А Memo?

Теперь для Memo настройте якорь по всем четырем сторонам. Все подсвойства свойства Anchors установите в True.

Запустите приложение и снова увеличьте размер формы. Как ведет себя Memo?

Свойство AutoSize обеспечивает изменение размеров компонента в соответствии с размерами его содержимого (текста, изображения, списка, иерархического дерева и т. д.).

Внешний вид элемента управления

Для определения цвета компонента используется свойство Color.
При нахождении указателя мыши над компонентом его изображение может изменяться в соответствии со значением свойства Cursor.
Для текста компонента шрифт обычно задается свойством Font.
Сам текст задается свойством Text.
Свойство Hint содержит текст ярлыка — однострочной подсказки, которая появляется в маленькой рамке при остановке мыши на элементе управления.
Если свойство ShowHint=true, то подсказка показывается.
Если свойство ShowHint=False, то подсказка не отображается.

Рисунок 4. У кнопки Hint=’Подсказка’, ShowHint=True;

Задание 3: Установить на форму кнопку и сделать для нее всплывающую подсказку «Нажми меня».

Видимость компонента.

Элемент управления можно сделать видимым или невидимым. Для этого применяется свойство Visible.
Visible=True – компонент виден,  
Visible=false – компонент не виден.

Доступность элемента управления

Определяется свойством Enabled.
Если Enabled=True, то компонент доступен (полностью работоспособен).
Если Enabled=False, то компонент не доступен (неактивен и отображается серым цветом).

Задание 4. Установите на  форму три кнопки, и сделать так, чтобы при запуске была одна кнопка видима и доступна, вторая невидима, а третья видима, но не доступна для пользователя.

Свойство визуальной принадлежности

Одно из самых важных свойств элементов управления — это свойство визуальной принадлежности Parent, описанное в классе TControl, и определяющее внутри какого компонента визуально располагается данный элемент управления. Данное свойство имеет тип TWinControl, так как любой элемент управления может располагаться только в Windows-окне.

Класс TWinControl

Класс TWinControl обеспечивает создание оконных элементов управления.
Главное отличие оконного элемента управления от любых других — наличие дескриптора окна hwnd. Дескриптор окна — это специальный идентификатор, который операционная система присваивает всем объектам, которые должны обладать свойствами окна.
Оконный элемент управления умеет:

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

Оконными элементами управления являются не только формы, но и практически все стандартные элементы управления Windows.

Фокус

Для передачи фокуса между элементами управления на одной форме часто используется клавиша <Таb>. Порядок перемещения фокуса между элементами определяется свойством TabOrder. В первую очередь фокус передается компоненту с минимальным значением свойства. Далее — по возрастанию значения. При переносе компонента на форму это значение задается автоматически в соответствии с числом компонентов на форме.
Если свойство TabStop=False, то компонент не будет откликаться на клавишу <Таb>.
Для передачи фокуса прямо элементу управления применяется метод SetFocus.
Чтобы узнать, имеет ли элемент управления фокус, в настоящее время используется метод Focused.

Внешний вид

Все оконные элементы имеют рамку по контуру (впрочем, она может быть не видна). Ее параметры задаются группой свойств:

  •  BevelEdges — задает, какие стороны входят в рамку;
  •  Bevellnner, BevelOuter — задают внешний вид рамки;
  •  BevelKind — определяет стиль рамки;
  •  BevelWidth — задает размер рамки.

Внешний вид оконного элемента определяется свойством Ctl3D.
Если Ctrl3D=True, то элемент управления имеет трехмерный вид.
Если Ctrl3D=False, то элемент выглядит плоским.

Рисунок 5. у Edit1 свойство Ctrl3D=False, у Edit2 свойство Ctrl3D=True

Задание 5:  создайте форму, показанную на рисунке, комбинируя свойства BevelEdges, Bevellnner, BevelOuter, BevelKind,  BevelWidth.

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

Класс TGraphicControl

Класс TGraphicControl используется для создания неоконных (не получающих фокус) элементов управления.
Так как непосредственным предком класса является класс TControl, то потомки TGraphicControl умеют реагировать на управляющие воздействия мышью.
Наглядный пример элемента управления, которому не нужно получать фокус, — это компонент TLabel, предназначенный для отображения текста, или компонент Timage, предназначенный для визуализации изображений.
Для визуализации элементов управления на основе этого класса используется канва, инкапсулированная в классе TCanvas.

Составитель: Салий Н.А.

Яндекс.Метрика

3.2. Элемент управления Button (кнопка)

Компонент Button (кнопка) относится к элементам управления. На панели компонентов Standard кнопка изображена в виде , имя объекта — Button. Кнопка, помещенная на форму, получает имя ButtonN, где N — номер 1, 2, 3… (пример 3.4). При необходимости кнопку можно переместить в любое место формы. Ключевые точки позволят установить нужный размер кнопки.

Некоторые свойства компонента Button перечислены в таблице (пример 3.5).

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

Основным событием компонента Button является OnClick. Для создания обработчика события OnClick для кнопки можно поступить так же, как и при создании аналогичного обработчика для формы: выбрать событие на вкладке Events и выполнить двойной щелчок в поле напротив события OnClick. Можно просто выполнить двойной щелчок по кнопке. (Для формы основным событием является событие OnCreate, поэтому при двойном щелчке по форме создается обработчик события OnCreate)

Пример 3.6. Создать проект, разместив на форме две кнопки. При нажатии на одну из них цвет формы должен измениться на синий, а при нажатии на вторую — должен восстановиться исходный цвет.

Этапы выполнения задания

  1. Поместить на форму две кнопки.
  2. Изменить свойство Caption у кнопки Button1 на Изменить цвет.
  3. Изменить свойство Caption у кнопки Button2 на Восстановить цвет.
  4. Создать обработчик события OnClik для кнопки Button1 и  изменить цвет формы. Команда
    Form1.Color := clBlue;
  5. Создать обработчик события OnClik для кнопки Button2 и изменить цвет формы на первоначальный (название цвета формы указано в поле Color инспектора объектов). Команда
    Form1.Color := clBtnFace;
  6. Сохранить изменения в проекте.

Пример 3.4. Компонент Button на форме:

Пример 3.5. Свойства компонента Button.

Свойство

Назначение

Caption

Заголовок (внешнее имя) кнопки, текст, который отображается на кнопке. По умолчанию — Button1

Font

Свойства шрифта для подписи заголовка. Свойство Font является сложным, о чем свидетельствует значок . При нажатии на этот значок раскрываются все свойства шрифта. Нажатие на кнопку   вызовет стандартное окно установки свойств шрифта

Height

Высота кнопки

Weight

Ширина кнопки

Left

Горизонтальная координата положения верхнего левого угла кнопки на форме

Top

Вертикальная координата положения верхнего левого угла кнопки на форме

Name

Имя (внутреннее) кнопки. Используется в программном коде для обращения к объекту. Является идентификатором

Enable

Значение True этого свойства обеспечивает доступность кнопки для мыши или клавиатуры

Visible

Значение True этого свойства обеспечивает видимость кнопки во время выполнения приложения

Пример 3.6. Внешний вид формы в режиме конструктора дизайна:

Внешний вид формы при выполнении:

Кроме кнопок Button в Delphi применяются кнопки  и , расположенные на палитре компонентов Additional.

Кнопки BitBtn — кнопки с изображением. Свойство Kind данного объекта позволяет выбрать кнопку с одним из стандартных изображений.

Кнопки SpeedBtn (кнопки с фиксацией и графикой) применяются  тогда, когда требуется фиксация нажатого состояния.

Свойство Glyph позволяет вставить изображение из файла на кнопках BitBtn и SpeedBtn.

Понравилась статья? Поделить с друзьями:
  • Внутренние источники финансирования бизнеса амортизационные отчисления
  • Во время длительной или напряженной работы снижается работоспособность
  • Во время работы приложения произошла критическая ошибка logitech g hub
  • Во время работы с бензопилой необходимо соблюдать следующие требования
  • Во сколько раз путь который проехал за 2 часа велосипедист больше пути