Tabstop и TRectangle

У меня есть TTabControl с некоторыми элементами управления (приложение Delphi XE7 Firemonkey). Все отлично работает, табстоп тоже. Теперь мне нужно раскрасить одну панель с помощью CheckBox. Добавьте TRectangle на эту панель и установите родительский элемент для CheckBox для этого TRectangle. Интерфейс выглядит нормально, но теперь этот CheckBox отсутствует в списке вкладок и не получил команду tabstop.

Как исправить эту проблему?

Как воспроизвести: Добавьте к форме TRectangle, добавьте 3 CheckBox, переместите один CheckBox3 на TRectangle с помощью панели "Структура" (установите TRectangle в качестве родительского для CheckBox3). Запустите это приложение и попробуйте навигацию, используя клавишу Tab. Вы не можете перейти к CheckBox3!

1 ответ

Решение

Вы должны либо установить вручную TabOrder к некоторой (разумной) стоимости, потому что TShape не опубликовано и, следовательно, установлено -1 (который делает то же самое, что и TabStop = False) или не размещает TCheckBox в TRectangleПросто поместите его перед TRectangle так что притягивает TRectangle,

Другой вариант не использовать TRectangle на все и изменить стиль TPanel: Щелкните правой кнопкой мыши на панели в конструкторе и выберите Edit Custom Style..., Затем выберите новый стиль для вас (что-то вроде panel1style: TRectangle) и изменить Fill собственность, как вам нужно. Нажмите Apply and Close и вы сделали. Используя стили, вы можете создавать сложные виды для любого элемента управления, который на первый взгляд может показаться простым. Для получения дополнительной информации см. http://docwiki.embarcadero.com/RADStudio/XE7/en/Customizing_FireMonkey_Applications_with_Styles и связанные с ними темы.

Другие вопросы по тегам