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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2011, 15:27   #1
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
Восклицание Edit и Форма

Всем доброго времени суток.......на форме есть Edit и 3 кртинки расположенных в столбик......надо что бы при вводе в Edit = '1' форма плавно увеличивалась в высоте до того размера пока полностю не будет видно Image1, если в Edit = '12' то форма плавно увеличивается в высоте до того пока полностью не будет показана Image1 и Image2 и т.д.
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 21.06.2011, 15:39   #2
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

изменяйте размеры формы... height, width, top, left...

p.s. можно узнать что Вы вообще пытаетесь сделать??
maLoy*508 вне форума Ответить с цитированием
Старый 21.06.2011, 15:48   #3
Jaguar83
Профессионал
Пользователь
 
Аватар для Jaguar83
 
Регистрация: 25.05.2011
Сообщений: 91
По умолчанию

Может это имеете в виду
Код:
procedure TForm1.Proc(x: Integer);
var i: Integer;
begin
for i:=1 to x do
begin
  Form1.ClientHeight:=Form1.ClientHeight+1;
  Sleep(100);
  Application.ProcessMessages;
end;
end;

procedure TForm1.Edit1Change(Sender: TObject);
var k: Integer;
begin
if Edit1.Text ='1' then
begin
  k:= Image1.Top+Image1.Height-Form1.ClientHeight;
  Proc(k);
end;
if Edit1.Text ='12' then
begin
  k:= Image2.Top+Image2.Height-Form1.ClientHeight;
  Proc(k);
end;
end;
Помог? Будь человеком - жми на весы слева!

Последний раз редактировалось Jaguar83; 21.06.2011 в 15:59.
Jaguar83 вне форума Ответить с цитированием
Старый 21.06.2011, 15:55   #4
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

Цитата:
Сообщение от maLoy*508 Посмотреть сообщение
изменяйте размеры формы... height, width, top, left...

p.s. можно узнать что Вы вообще пытаетесь сделать??
Что-то типа ComboBox
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 21.06.2011, 16:01   #5
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

Цитата:
Сообщение от Jaguar83 Посмотреть сообщение
Может это имеете в виду
Код:
procedure TForm1.Proc(x: Integer);
var i: Integer;
begin
for i:=1 to x do
begin
  Form1.ClientHeight:=Form1.ClientHeight+1;
  Sleep(100);
  Application.ProcessMessages;
end;
end;

procedure TForm1.Edit1Change(Sender: TObject);
var k: Integer;
begin
if Edit1.Text ='1' then
begin
  k:= Image1.Top+Image1.Height-Form1.ClientHeight;
  Proc(k);
end;
if Edit1.Text ='12' then
begin
  k:= Image2.Top+Image2.Height-Form1.ClientHeight;
  Proc(k);
end;
end;
прикольно, а плавнее можно как-то, и еще вопрос а обратное действие как произвести, если к примеру было в Edit ='123' и показывались все 3 картинки, после я ввел к примеру в Edit = '1' и форма должна уменьшится что бы было видно только 1 картинку
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...

Последний раз редактировалось Claster; 21.06.2011 в 16:03.
Claster вне форума Ответить с цитированием
Старый 21.06.2011, 16:04   #6
Jaguar83
Профессионал
Пользователь
 
Аватар для Jaguar83
 
Регистрация: 25.05.2011
Сообщений: 91
По умолчанию

Как плавнее?
медленее или быстрее - Задаётся параметром в Sleep(x)
Помог? Будь человеком - жми на весы слева!
Jaguar83 вне форума Ответить с цитированием
Старый 21.06.2011, 16:08   #7
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

Цитата:
Сообщение от Jaguar83 Посмотреть сообщение
Как плавнее?
медленее или быстрее - Задаётся параметром в Sleep(x)
Это понял, а как задать уменьшение, и почему-то при вводе '1' показываются все 2 а не только 1
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 21.06.2011, 16:20   #8
Jaguar83
Профессионал
Пользователь
 
Аватар для Jaguar83
 
Регистрация: 25.05.2011
Сообщений: 91
По умолчанию

Цитата:
Сообщение от Claster Посмотреть сообщение
и еще вопрос а обратное действие как произвести, если к примеру было в Edit ='123' и показывались все 3 картинки, после я ввел к примеру в Edit = '1' и форма должна уменьшится что бы было видно только 1 картинку
Сделай так...
Код:
procedure TForm1.Proc(x: Integer);
var i: Integer;
begin
if x > 0 then
for i:=1 to x do
begin
  Form1.ClientHeight:=Form1.ClientHeight+1;
  Sleep(1);
  Application.ProcessMessages;
end;
if x< 0 then
for i:=abs(x) downto 1 do
begin
  Form1.ClientHeight:=Form1.ClientHeight-1;
  Sleep(1);
  Application.ProcessMessages;
end;
end;
Помог? Будь человеком - жми на весы слева!
Jaguar83 вне форума Ответить с цитированием
Старый 21.06.2011, 16:22   #9
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

Большое спасибо буду разбираться
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 21.06.2011, 16:34   #10
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

Еще один вопросик, а если в поле Edit пустое ?

С пустым уже разобрался

Код:
procedure TForm1.Edit1Change(Sender: TObject);
var k: Integer;
begin
  if Edit1.Text ='' then
    begin
     k:= Edit1.Top+Edit1.Height-Form1.Height;
     Proc(k);
  end;

  if Edit1.Text ='1' then
    begin
     k:= Image1.Top+Image1.Height-Form1.Height;
     Proc(k);
  end;

    if Edit1.Text ='12' then
      begin
        k:= Image2.Top+Image2.Height-Form1.Height;
        Proc(k);
    end;

    if Edit1.Text ='123' then
      begin
        k:= Image3.Top+Image3.Height-Form1.Height;
        Proc(k);
    end;

end;
когда х<0 или x>0 в процедуре?
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...

Последний раз редактировалось Claster; 21.06.2011 в 16:40.
Claster вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование строки из Edit в другой Edit. Ibanez Wizard Win Api 3 29.03.2011 02:46
форма Айгуля Помощь студентам 3 13.06.2010 13:08
форма Temka Общие вопросы Delphi 2 02.06.2009 18:16
форма blackstersl Общие вопросы Delphi 1 18.09.2008 15:23
Форма subsonic Общие вопросы Delphi 5 10.01.2008 11:18