PHP Forum - Coding Board
Juni 18, 2018, 02:28:52 *
Willkommen Gast. Bitte einloggen oder registrieren.

Einloggen mit Benutzername, Passwort und Sitzungslänge
News:
 
   Übersicht   Hilfe Suche Einloggen Registrieren  
Seiten: [1]
  Drucken  
Autor Thema: [Src] Effekte  (Gelesen 95 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
CoolObsession
Full Member
***
Beiträge: 236


848620
Profil anzeigen E-Mail
« am: Juni 25, 2009, 03:07:40 »



Code:


procedure Einblende(Form: TObject; XOrt: Integer; YOrt: Integer);
var
  Blend: Boolean;
  Value: Byte;
  i    : Integer;
  Pause: Boolean;
begin
  with Form as TForm do
  begin
    //Alte Werte speichern
    Blend := AlphaBlend;
    Value := AlphaBlendValue;
    //Form erneuern
    Hide;

    //Alte Werte ▄berschreiben und auf Blend-Anfang
    SetBounds(Xort+8, Yort+8, Width-16, Height-16);
    AlphaBlend := true;
    AlphaBlendValue := 0;
    //Form anzeigen
    Show;

    //langsam sichtbar machen
    for i := 1 to 20 do
    begin
      Pause := not Pause;
      if Pause then
      begin
        AlphaBlendValue := i*8-1;
        SetBounds(Left-1, Top-1, Width+4, Height+4);
      end;
      if i<20 then
        Refresh;
      sleep(100);
    end;

    //Alte Werte Widerherstellen
    AlphaBlend := Blend;
    AlphaBlendValue := Value;
  end;
end;

procedure Ausblenden(Form: TObject; XOrt: Integer; YOrt: Integer);
var
  Blend: Boolean;
  Value: Byte;
  i    : Integer;
  Pause: Boolean;
begin
  with Form as TForm do
  begin
    //Alte Werte speichern
    Blend := AlphaBlend;
    Value := AlphaBlendValue;
    //Form erneuern
    Hide;

    //Alte Werte ▄berschreiben und auf Blend-Anfang
    SetBounds(Xort-8, Yort-8, Width+16, Height+16);
    AlphaBlend := true;
    AlphaBlendValue := 255;
    //Form anzeigen
    Show;

    //langsam sichtbar machen
    for i := 1 to 51 do
    begin
       Pause := not Pause;
      if Pause then
      begin
        AlphaBlendValue := i*-5;
        SetBounds(Left+1, Top+1, Width-4, Height-4);
      end;
      if i<20 then
        Refresh;
      sleep(100);
    end;

    //Alte Werte Widerherstellen
    AlphaBlend := Blend;
    AlphaBlendValue := Value;
  end;
end;

Fenster wackeln lassen:

Code:
procedure WindowShake(wHandle: THandle) ;
const
   MAXDELTA = 4;
   SHAKETIMES = 500;
var
   oRect, wRect :TRect;
   deltax : integer;
   deltay : integer;
   cnt : integer;
   dx, dy : integer;
begin
   //remember original position
   GetWindowRect(wHandle,wRect) ;
   oRect := wRect;

   Randomize;
   for cnt := 0 to SHAKETIMES do
   begin
     deltax := Round(Random(MAXDELTA)) ;
     deltay := Round(Random(MAXDELTA)) ;
     dx := Round(1 + Random(2)) ;
     if dx = 2 then dx := -1;
     dy := Round(1 + Random(2)) ;
     if dy = 2 then dy := -1;
     OffsetRect(wRect,dx * deltax, dy * deltay) ;
     MoveWindow(wHandle, wRect.Left,wRect.Top,wRect.Right - wRect.Left,wRect.Bottom - wRect.Top,true) ;
   end;
   //return to start position
   MoveWindow(wHandle, oRect.Left,oRect.Top,oRect.Right - oRect.Left,oRect.Bottom - oRect.Top,true) ;
end;

 windowshake ist nicht von mir, jedoch habe ich mal fast das selbe gemacht nur kb neu zu machen und die SRC ist weg... Vielleicht kann jemand ja etwas damit anfangen.
Gespeichert

[B] RS, Freundin, Altpapier, Datenbanken
[S] Nichts
Seiten: [1]
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | New Look by Nolt Prüfe XHTML 1.0 Prüfe CSS