Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2013, 20:29   #1
echelone
Пользователь
 
Регистрация: 20.03.2011
Сообщений: 22
По умолчанию подвижная форм

Возникла такая идея, кто подскажет как ее осуществить, есть форма, при нажатии на кнопку эта форма начинает увеличиваться до определенных размеров, и как достигает возвращается в исходное положение.
echelone вне форума Ответить с цитированием
Старый 27.11.2013, 20:37   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Чтобы сделать буквально то, что написано, например так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var w:Integer;
begin
 w:=Width;
 Width:=999; // ширина формы
 Width:=w;
end;
Только все это будет очень быстро. Наверное, надо с какой-то задержкой ?
type_Oleg вне форума Ответить с цитированием
Старый 27.11.2013, 21:08   #3
echelone
Пользователь
 
Регистрация: 20.03.2011
Сообщений: 22
По умолчанию

ну да, а как сделать медленнее?
echelone вне форума Ответить с цитированием
Старый 27.11.2013, 21:37   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Вот так, например.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var w,i:Integer;
const MAX_WIDTH=999; // определенный размер
begin
 w:=Width;
 for i:=w to MAX_WIDTH do  Width:=i;
 for i:=MAX_WIDTH downto w do  Width:=i;
end;
Это только ширина. Если надо, там же высоту Height
type_Oleg вне форума Ответить с цитированием
Старый 27.11.2013, 21:38   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Так тоже очень быстро будет. Таймер придется осваивать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.11.2013, 21:44   #6
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Аватар, не, у меня наоборот медленно - секунд 6 расширяется.
Я даже придумал, как ускорить в 2 раза. Вместо первого цикла:
Код:
for i:=w to MAX_WIDTH do if Odd(i) then Width:=i;
Она же рисуется, поэтому долго
type_Oleg вне форума Ответить с цитированием
Старый 27.11.2013, 21:47   #7
echelone
Пользователь
 
Регистрация: 20.03.2011
Сообщений: 22
По умолчанию

type_Oleg - спасибо большое, а вот в высоту примерно так будет?

procedure TForm1.Button1Click(Sender: TObject);
var w,i:Integer;
const MAX_Height=500;
begin
w:=Height;
for i:=w to MAX_Height do Height:=i;
for i:=MAX_Height downto w do Height:=i;

end;

end.

И к стати таймер не надо, он достаточно плавно ходит
echelone вне форума Ответить с цитированием
Старый 27.11.2013, 21:56   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Да, так. А если форма квадратная, можно и одновременно и ширину и высоту:
Код:
for i:=w to MAX_W_H do
  begin
   Width:=i;
   Height:=i;
  end;
type_Oleg вне форума Ответить с цитированием
Старый 27.11.2013, 22:03   #9
echelone
Пользователь
 
Регистрация: 20.03.2011
Сообщений: 22
По умолчанию

А может Вы еще подскажите какие нибудь процедуры по кнопкам мыши?
вот тема:
http://www.programmersforum.ru/showt...11#post1306611
echelone вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание форм Михаил Юрьевич Общие вопросы Delphi 5 16.07.2012 03:41
Автозаполнение форм klimak Работа с сетью в Delphi 1 24.09.2010 11:02
Смена форм kanich Общие вопросы Delphi 4 09.09.2010 10:07
Заполнение форм Marsik JavaScript, Ajax 1 17.11.2009 17:30
Копирование форм tae1980 Microsoft Office Excel 4 18.03.2009 14:51