• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Динамическое создание компонет на форме

  • Автор темы exp99
  • Дата начала
E

exp99

Необходимо при создании нескольких компонет типа GroupBox разделять их TSplitter и создавать примыкая по горизонтали
В итоге должно получиться типа как показано на рис в прикрепленном файле
 

Вложения

  • form1.jpg
    form1.jpg
    14,7 КБ · Просмотры: 475
Y

Yason

exp99, ответ где-то
 
E

exp99

Задача стоит следующим образом
необходимо создавать GroupBox а между мини должен быть Split
в итоге получается такая картина
создаются GroupBox один под другим - это правильно
А вот Split создаются под самым нижним , а нужно между GroupBox

GroupBox:=TGroupBox.Create(PanelGraf);
GroupBox.Parent:=PanelGraf;
GroupBox.Name:='GroupBox'+inttoStr(N);
GroupBox.Align:=alTop;
GroupBox.Top:=PanelGraf.Height;
GroupBox.Caption:=CheckListBoxCur.Items.Strings;

GroupBox.Top:=(N-1)*200;
GroupBox.Height:=200; //(PanelGraf.Height - 10) div N ;
GroupBox.Width:=PanelGraf.Width;
Split:=TSplitter.Create(PanelGraf);
Split.Parent:=PanelGraf;
Split.Name:='Splitter'+intToStr(N);
Split.Align:=alTop;
Split.Width:=7;
Split.Color:=clActiveBorder;
Split.Top:=PanelGraf.Height;
 
Y

Yason

exp99, всё зависит от свойства Top сплиттера. В приведённом коде каждому созданному сплиттеру говорится, что его место - внизу панели; Align=alTop "подтягивает" его к последнему GroupBox'у. Если указать Split.Top между груп-боксами, всё будет ок.

Посмотреть вложение SplitterAlignTest.zipТестовое приложение немного усложнено во имя наглядности. Кликаешь несколько раз "Add Groupbox"; потом выбираешь сплиттер, который хочешь переместить; потом перемещаешь его. Как минимум, тест доказывает возможность перемещения aligned контролов во время исполнения ;)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!