GARANTIR DESCONTO

Fórum Aumentar o form com um efeito cortina!! #269270

18/02/2005

0

Dentro de um form tenho a propriedade Height em 379 quando clicar em um botão gostaria que a propriedade Height fosse incrementada 1 a 1 até conter o valor 690 faço isso para que esse aumento do form tenha um efeito cortina.
Gostaria de colocar um While dentro de um timer para ele fazer isso. O problema é que quando clico no botão novamente não consigo fazer o form voltar ao tamanho original.
Se alguém puder me dar uma sugestão ou me passar um código fico agradecido.

Muito Grato Morton


Morton

Morton

Responder

Posts

18/02/2005

Oscar Candido

Amigo fiz assim, criei uma variável global do tipo Boolean com o nome ´Abre´ iniciei ela como False, e no botão para controlar o efeito coloquei o seguinte:

  Timer1.Enabled := Not(Timer1.Enabled);
  Abre := Not Abre;


Já no Timeir o código foi o seguinte
   If Abre then
      while not (form1.Height = 690) do
      begin
         Form1.Height := Form1.Height + 1;
         Timer1.Enabled := False;
      end
   else
      while not (form1.Height = 300) do
      begin
         Form1.Height := Form1.Height -1;
         Timer1.Enabled := False;
      end;


Espero ter ajudado, um abraço


Responder

Gostei + 0

18/02/2005

Beppe

Pra que timer? A não ser ser que você precise temporarização, ele é supérfluo.

const
  Minimo = 379;
  Maximo = 699;
var
  I, Incremento: Integer;
begin
  Incremento := Ord(Height = Maximo) - Ord(Height = Minimo);
  for I := 1 to Abs(Minimo + Maximo - Height * 2) do
    Height := Height - Incremento;
end;


Veja se isto cabe ao seu problema, se não podemos fazer com timer também.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar