![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание объектов в runtime.
mmx1 © (2006-11-06 17:45:00)Есть один элемент TPanel, на котором требуется создать несколько других, -- на этой панели сформировать некую матрицу из других панелей.
Ну что-то вроде вот этого:
____________
|__|__|__|__|
|__|__|__|__|
|__|__|__|__|
Мой вопрос не про само создание множества внутренних панелей; я не понимаю, как мне контроллировать положения этих элементов, как выстраивать ровную матрицу. Учитывая, что ширина и длина главного TPanel - константа, -- т.е. он может вмещать определенное кол-во внутренних TPanel. Может что подскажете?
Anatoly Podgoretsky (2006-11-06 23:26:00) [1]> mmx1 (06.11.2006 17:45:00) [0]
> Учитывая, что ширина и длина главного TPanel константа
Раз константа, то задаче не имеет решения, если M mod N <> 0
RASkov (2006-11-06 20:52:00) [2]
procedure TForm1.Button1Click(Sender: TObject);
var Pn: TPanel; W, H, N: Integer;
begin
W:=(Panel1.Width div 4);
H:=(Panel1.Height div 3);
for N:=0 to 11 do begin
Pn:=TPanel.Create(Panel1);
Pn.Parent:=Panel1;
Pn.Width:=W; Pn.Height:=H;
Pn.Left:=((N div 3)*W);
Pn.Top:=(N mod 3)*H;
Pn.Caption:='Iaiaeu ?'+IntToStr(N+1);
Pn.Show;
end;
end;
Desdechado (2006-11-06 17:47:00) [3]> я не понимаю, как мне контроллировать положения этих элементов
Panel1.Top
Panel1.Left
Panel1.Width
Panel1.Height
делить нацело свою константу думаю сумеешь
Ketmar (2006-11-06 17:46:00) [4]а что, использовать всякие grid'ы религия запрещает?