Как мы все знаем, TPanel
является контейнером для других визуальных компонентов (TLabel
, TEdit
так далее).
Тем не менее, кажется, что мы можем разместить только новые компоненты (из
компонентную палитру) на существующий TPanel, и структура VCL автоматически сделает TPanel их родителем).
Интересно, есть ли способ разместить существующие визуальные компоненты (те, которые уже есть в нашей форме VCL) на TPanel. я пробовал
Размещение компонентов на существующем TPanel (это не работает, потому что
рамки не сделают TPanel их родителем)
Редактирование файла dfm формы вручную (компоненты на TPanel
теперь невидимы — это баг?)
Явная установка свойства Parent компонента в коде (Label1
виден даже когда Panel1
высота установлена на 0)
Label1->Parent = Panel1;
Ничто из вышеперечисленного не сработало, но это кажется настолько простой вещью, что это должен быть способ сделать это.
Спасибо
Основываясь на моем опыте с VCL (Я использую Delphi но я думаю, что то же самое верно для C ++Я знаю 3 способа изменить Parent
уже существующего контроля во время разработки:
Выберите Control
отрежь Ctrl + X, выберите желаемый Parent
и вставить Ctrl + V. Таким образом, Control
будет вставлен как дочерний контроль желаемого Parent
,
Редактировать вручную Файл DFM. Делая так, вы должны обратить внимание на Left
а также Top
свойства, потому что Control
может быть размещен за пределами нового Parent
и это может показаться невидимым. В этом случае я предлагаю установить элемент управления Left
а также Top
в 0
чтобы быть уверенным Control
будет виден внутри его нового Parent
,
Других решений пока нет …