Форум: "Основная";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];
ВнизПостроение элементов Найти похожие ветки
← →
doddoindan (2006-06-30 17:34) [0]Вообщем создаю динамически элементы, создаются они на разных панелях, потом пишу процедуру для их выравнивания, однако получается так, что на последней панели первые несколько элементов пропадают, никак немогу найтьи ошибку(на одной панеле размещаются 2 столбца по 14 элементов)
for x:=1 to i-1 do
begin
cb.items[x].Top:=cb.items[x-1].Top+16;
cb.items[x].Left:=cb.items[x-1].Left;
if (x mod 14 =0) and (y>=2) then
begin
cb.items[x].Top:=5;
cb.items[x].Left:=5;
y:=1;
end
else
if (x mod 14 =0) and (y<=2) then
begin
cb.items[x].Top:=5;
cb.items[x].Left:=170;
y:=y+1;
end;
end;
← →
Palladin © (2006-06-30 18:03) [1]надеюсь ты Y инициализируешь перед циклом
← →
doddoindan (2006-06-30 18:21) [2]естессно, проблема не в этом , проблема в логике... я её понимаю недоконца
← →
Palladin © (2006-06-30 18:58) [3]значит ты тут так напутал что сам неразберешься? :)
молодца
cb.Items[0].Left:=5;
for x:=1 to i-1 do
begin
cb.items[x].Top:=cb.items[x-1].Top+16;
cb.items[x].Left:=cb.items[x-1].Left;
if (x=14) Then
begin
cb.items[x].Top:=5;
cb.items[x].Left:=170;
end
end;
← →
Palladin © (2006-06-30 19:00) [4]или еще лучше
cb.Items[0].Left:=5;
For x:=1 to i-1 Do
If (x=14) Then
Begin
cb.items[x].Top:=5;
cb.items[x].Left:=170;
End Else
Begin
cb.items[x].Top:=cb.items[x-1].Top+16;
cb.items[x].Left:=cb.items[x-1].Left;
End;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c