Как мне «вернуться к унаследованному», если элемент управления не доступен для просмотра?

#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:

Это легко для пользователя клавиатуры, такого как я:

  1. Нажмите PnlDescendant в редакторе форм, чтобы сделать его сфокусированным и выбранным элементом управления.
  2. НажмитеEsc, чтобы выбрать его родительский элемент, PnlClient .
  3. Нажмите клавишу меню на клавиатуре, чтобы отобразить контекстное меню PnlClient . Если у вас дешевая клавиатура без клавиши меню, ShiftF10вместо этого нажмите .
  4. Нажмите «Вернуться к унаследованному». (Или, намного быстрее: нажмите, возможно, подчеркнутый символ элемента менюI.)
  5. (Но обратите внимание, что это PnlDescendant полностью удалит. Возможно, вы этого не хотели, но так оно и работает.)

Комментарии:

1. В других настройках вы также можете использовать клавишу Tab для перемещения между родственными элементами управления. В представлении дерева структуры вы можете увидеть, какой из них в данный момент сфокусирован. Перейдите к нужному элементу и нажмите клавишу меню (или Shift F10).

2. Клавиша меню ! Вау, я никогда этим не пользовался 😉

3. И спасибо, что упомянули пункт 5. Это был не очень хороший пример в вопросе.

4. На самом деле я использую его почти ежедневно (например, когда набираю математические формулы в Microsoft Word).