Показать сообщение отдельно
  #6  
Старый 13.11.2008, 14:54
Grunch Grunch вне форума
Новичок
 
Регистрация: 08.04.2008
Адрес: Краснодар
Сообщения: 52
Репутация: 10
По умолчанию

Хм. Пусть у нас есть два массива:
Код:
Positions=array of array integer; //здесь хранятся координаты Top кнопок в оригинальном положении
Buttons=array of array of TButton;
(Я так понял кнопки расположены рядами)
Пусть кнопка Buttons[i,j] не видна, тогда надо все кнопки что под ней сдвинуть вверх:
Код:
for k:=i+1 to <количество строк кнопок> - 1 do
begin
  Buttons[k,j].Top:=Positions[k-1,j];
end;
Когда кнопка снова стала видна:
Код:
for k:=i+1 to <количество строк кнопок> - 1 do
begin
  Buttons[k,j].Top:=Positions[k,j];
end;
Ответить с цитированием