Размещение существующих элементов управления VCL на компоненте TPanel

Как мы все знаем, TPanel является контейнером для других визуальных компонентов (TLabel, TEdit так далее).
Тем не менее, кажется, что мы можем разместить только новые компоненты (из
компонентную палитру) на существующий TPanel, и структура VCL автоматически сделает TPanel их родителем).

Интересно, есть ли способ разместить существующие визуальные компоненты (те, которые уже есть в нашей форме VCL) на TPanel. я пробовал

  • Размещение компонентов на существующем TPanel (это не работает, потому что
    рамки не сделают TPanel их родителем)

  • Редактирование файла dfm формы вручную (компоненты на TPanel
    теперь невидимы — это баг?)

  • Явная установка свойства Parent компонента в коде (Label1 виден даже когда Panel1 высота установлена ​​на 0)

    Label1->Parent = Panel1;
    

Ничто из вышеперечисленного не сработало, но это кажется настолько простой вещью, что это должен быть способ сделать это.

Спасибо

2

Решение

Основываясь на моем опыте с VCL (Я использую Delphi но я думаю, что то же самое верно для C ++Я знаю 3 способа изменить Parent уже существующего контроля во время разработки:

  • Перетащите Control в желаемый Parent от Окно структуры.
    введите описание изображения здесь

  • Выберите Controlотрежь Ctrl + X, выберите желаемый Parent и вставить Ctrl + V. Таким образом, Control будет вставлен как дочерний контроль желаемого Parent,

  • Редактировать вручную Файл DFM. Делая так, вы должны обратить внимание на Left а также Top свойства, потому что Control может быть размещен за пределами нового Parent и это может показаться невидимым. В этом случае я предлагаю установить элемент управления Left а также Top в 0 чтобы быть уверенным Control будет виден внутри его нового Parent,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]