Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Динамическое создание компонет на форме, динамическое создание компонет примыкающих друг к другу
exp99
Вставить ник
сообщение 7:05:2008, 16:35
Цитата Ответить 


Новенький
Иконка группы

Группа: Новенький
Сообщений: 2
Регистрация: 7:05:2008
Пользователь №: 17 119



Репутация:   0  


Необходимо при создании нескольких компонет типа GroupBox разделять их TSplitter и создавать примыкая по горизонтали
В итоге должно получиться типа как показано на рис в прикрепленном файле
Прикрепленные файлы
Прикрепленный файл  form1.jpg ( 18.43 килобайт ) Кол-во скачиваний: 3
 
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 4)
Yason
Вставить ник
сообщение 7:05:2008, 16:44
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Программист
Сообщений: 141
Регистрация: 27:02:2004
Пользователь №: 296



Репутация:   6  


exp99, ответ где-то ]]>рядом]]>
Подняться вверх 
 
Сообщение #2
etc
Вставить ник
сообщение 7:05:2008, 17:59
Цитата Ответить 


Гуру
Иконка группы

Группа: Достойный программист
Сообщений: 306
Регистрация: 5:06:2007
Пользователь №: 11 234



Репутация:   4  


Цитата(Yason @ 7:05:2008 - 18:44) *
ответ где-то рядом
На какой вопрос? wink.gif
Подняться вверх 
 
Сообщение #3
exp99
Вставить ник
сообщение 7:05:2008, 18:30
Цитата Ответить 


Новенький
Иконка группы

Группа: Новенький
Сообщений: 2
Регистрация: 7:05:2008
Пользователь №: 17 119



Репутация:   0  


Задача стоит следующим образом
необходимо создавать 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[i];

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;
Подняться вверх 
 
Сообщение #4
Yason
Вставить ник
сообщение 7:05:2008, 23:16
Цитата Ответить 


Продвинутый
Иконка группы

Группа: Программист
Сообщений: 141
Регистрация: 27:02:2004
Пользователь №: 296



Репутация:   6  


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

Прикрепленный файл  SplitterAlignTest.zip ( 228.02 килобайт ) Кол-во скачиваний: 10
Тестовое приложение немного усложнено во имя наглядности. Кликаешь несколько раз "Add Groupbox"; потом выбираешь сплиттер, который хочешь переместить; потом перемещаешь его. Как минимум, тест доказывает возможность перемещения aligned контролов во время исполнения smile.gif
Подняться вверх 
 
Сообщение #5


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись |  AJAX?
   

 

RSS Текстовая версия Сейчас: 12:10:2008 - 00:33

с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net