Вниз
Скачать: CL | DM;

Построение элементов   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
3-1149505937
WhiteBarin
2006-06-05 15:12
2006.08.13
Где взять FastReport


15-1152786620
Igor_
2006-07-13 14:30
2006.08.13
Система документации для Delphi


15-1152612671
Kerk
2006-07-11 14:11
2006.08.13
Разработка чего-нибудь


15-1153320537
k2
2006-07-19 18:48
2006.08.13
Такие люди работу ищут :) эх не ценят у нас молодежь :)


15-1152824925
Gero
2006-07-14 01:08
2006.08.13
Похоже, гугль не справляется




   Наверх