Avatar billede psycosoft-funware Nybegynder
06. august 2008 - 10:20 Der er 4 kommentarer og
1 løsning

popup vindue på samme måde som i msn

hej eksperter :)

jeg søger noget kode der kan animere en form til at rulle op og rulle ned igen  på samme måde som i messengenger når en kontakt logger på.

jeg har googlet lidt på det men jeg kan kun finde noget kode der virker på win32. da det er en applikation til flere platforme skal koden kunne fungere ligeledes. :)

på forhånd  tak

/psycosoft-funware :)
Avatar billede mbsnet Nybegynder
06. august 2008 - 16:17 #1
Kan du bruge dette:

unit Unit1;

interface

uses
  windows,sysUtils,classes,controls,forms,extCtrls,stdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    Button2: TButton;
    procedure Timer1Timer(sender:tObject);
    procedure FormCreate(sender:tObject);
    procedure rulOp(sender:tObject);
    procedure rulNed(sender:tObject);
  private
    directionFwd,doReSize:boolean;
    destinationHeight:longInt;
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//Kan du ikke bruge en timer til at rulle højden op/ned (eller hvad mener du)..

const
HEIGHT_MINIMUM = 100;
HEIGHT_MAXIMUM = 400;

procedure tForm1.rulOp(Sender: TObject);
begin destinationHeight:=HEIGHT_MINIMUM;directionFwd:=false;doReSize:=true end;

procedure tForm1.rulNed(Sender: TObject);
begin destinationHeight:=HEIGHT_MAXIMUM;directionFwd:=true;doReSize:=true end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin if not doReSize then exit;
if directionFwd then begin
  if height<destinationHeight then height:=height+5;
end else
  if height>destinationHeight then height:=height-5;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
destinationHeight:=HEIGHT_MAXIMUM
end;
Avatar billede psycosoft-funware Nybegynder
12. august 2008 - 12:38 #2
>>mbsnet: koden virker som den skal. du burde bare øve dig noget mere i af formatere koden ordenligt så den ikke er så rodet :) smid et svar

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Panel1: TPanel;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    DestFwd, DoResize: Boolean;
    DestHeight: LongInt;
  public
    procedure RollUp;
    procedure RollDown;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

const
  MaxHeight = 300;
  MinHeight = 0;

procedure TForm1.RollUp;
begin
  DestHeight := MinHeight;
  DestFwd := False;
  DoResize := True;
end;

procedure TForm1.RollDown;
begin
  DestHeight := MaxHeight;
  DestFwd := True;
  DoResize := True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if not DoResize then
      Exit;
  if Panel1.Height < DestHeight then
  begin
      Panel1.Height := Panel1.Height +  5;
  end
  else
  if Panel1.Height > DestHeight then
      Panel1.Height := Panel1.Height - 5;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DestHeight := MaxHeight;
end;

end.

lige lidt forklaring til dem der måtte finde koden brugbar:

Timeren er sat til Enabled og dens Interval 50, denne kører i baggrunden.

der efter kaldes endten RollUp(); eller RollDown(); hvis man vil rulle et vindue eller Control (fx TPanel eller TGroupBox) hhv op eller ned :)
Avatar billede psycosoft-funware Nybegynder
05. september 2008 - 18:28 #3
>>mbsnet: skal vi få lukket dette spm? :)
Avatar billede mbsnet Nybegynder
05. september 2008 - 19:03 #4
Hej, jeg havde ikke opdaget svaret, sorry.
p.s. Det med formatering er jo alt efter hvordan man gør det.
Personligt bruger jeg altid det første bogstav med småt.
Avatar billede psycosoft-funware Nybegynder
07. september 2008 - 21:16 #5
så er den ude af verdenen :)

hehe ja jeg kan kun give dig ret i forbindelse med kodeformatering, hver sin smag :)

personligt er jeg  blevet "opdraget" i ordenlig formatering fra bla hrc og kroning her i gennem exp.dk :)

anyways. tak for hjælpen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester