#delphi #visual-inheritance
#delphi #визуальное наследование
Вопрос:
Предположим, что следующая ситуация:
FrmBase
имеетTPanel
имяPnlClient
, выровнятьalClient
FrmDescendant
наследуется отFrmBase
- В
FrmDescendant
я изменяюPnlClient
свойство FrmDescendant
Я помещаю другой элемент управления (скажем, другойTPanel
с именемPnlDescendant
)PnlClient
и выравниваю егоalClient
.
PnlDescendant
теперь полностью охватываетPnlClient
- Я размещаю множество других компонентов
PnlDescendant
, не обязательно выровненных, поэтому я боюсь изменитьPnlDescendant
(например, установить выравниваниеalNone
и изменить размер) и потерять позиции
Как я могу выполнить «вернуться к унаследованному» для PnlClient
?
В главном меню или во всплывающем меню для элементов управления в представлении структуры ничего нет…
В настоящее время используется Delphi 10.4.1 Sydney
Ответ №1:
Это легко для пользователя клавиатуры, такого как я:
- Нажмите
PnlDescendant
в редакторе форм, чтобы сделать его сфокусированным и выбранным элементом управления. - НажмитеEsc, чтобы выбрать его родительский элемент,
PnlClient
. - Нажмите клавишу меню на клавиатуре, чтобы отобразить контекстное меню
PnlClient
. Если у вас дешевая клавиатура без клавиши меню, ShiftF10вместо этого нажмите . - Нажмите «Вернуться к унаследованному». (Или, намного быстрее: нажмите, возможно, подчеркнутый символ элемента менюI.)
- (Но обратите внимание, что это
PnlDescendant
полностью удалит. Возможно, вы этого не хотели, но так оно и работает.)
Комментарии:
1. В других настройках вы также можете использовать клавишу Tab для перемещения между родственными элементами управления. В представлении дерева структуры вы можете увидеть, какой из них в данный момент сфокусирован. Перейдите к нужному элементу и нажмите клавишу меню (или Shift F10).
2. Клавиша меню ! Вау, я никогда этим не пользовался 😉
3. И спасибо, что упомянули пункт 5. Это был не очень хороший пример в вопросе.
4. На самом деле я использую его почти ежедневно (например, когда набираю математические формулы в Microsoft Word).