AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[D2005 PE] FadeForm

Ein Thema von xZise · begonnen am 30. Apr 2006 · letzter Beitrag vom 1. Mai 2006
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#11

Re: [D2005 PE] FadeForm

  Alt 30. Apr 2006, 14:06
Hi!

Das tust du doch bereits:
inherited Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#12

Re: [D2005 PE] FadeForm

  Alt 30. Apr 2006, 14:08
Doppelt hält besser Okay danke!

1. Compilieren funzt
2. Siehe Attachement: Da hin möchte ich es haben

[edit]
@ Override:
[Fehler] UFadeForm.pas(14): E2170 Eine nichtvirtuelle Methode kann nicht überschrieben werden
[Fehler] UFadeForm.pas(15): E2170 Eine nichtvirtuelle Methode kann nicht überschrieben werden
[/edit]
Miniaturansicht angehängter Grafiken
tool_896.jpg  
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: [D2005 PE] FadeForm

  Alt 30. Apr 2006, 14:16
Nur zum Testen, kannst Du die Unit auch in ein Projekt einbinden und händisch erstellen.

Delphi-Quellcode:
uses
   UFadeForm;

procedure Test;
var
  lFadeForm: TFadeForm;
begin
  lFadeForm := TFadeForm.CreateNew(nil);
  lFadeForm.FadeIn := true;
  lFadeForm.FadeOut := true;
  lFadeForm.Show;
  sleep(10000);
  lFadeForm.Free;
end;
und bezüglich

[Fehler] UFadeForm.pas(14): E2170 Eine nichtvirtuelle Methode kann nicht überschrieben werden
[Fehler] UFadeForm.pas(15): E2170 Eine nichtvirtuelle Methode kann nicht überschrieben werden

überschreibst Du am besten die Methoden DoShow bzw. DoHide, die sind in TCustomForm als Protected deklariert, kannst Du also auch in deiner TFadeForm dort deklarieren (Ich hoffe das hat sich von D7Pro zu D2005PE nicht geändert).
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#14

Re: [D2005 PE] FadeForm

  Alt 30. Apr 2006, 17:56
Also ich habe folgenden Quelltext:
Delphi-Quellcode:
program Project1;

uses
  Forms,
  UFadeForm in 'Codes\FadeForm\UFadeForm.pas',
  Unit1 in 'Unit1.pas';

{$R *.res}

begin
  Application.Initialize;
  Unit1.Test;
  Application.Run;
end.
Delphi-Quellcode:
unit Unit1;

interface

uses
  UFadeForm, SysUtils;

procedure Test;

implementation

procedure Test;
var
  lFadeForm: TFadeForm;
begin
  lFadeForm := TFadeForm.CreateNew(nil);
  lFadeForm.AlphaBlend := true;
  lFadeForm.FadeIn := true;
  lFadeForm.FadeOut := true;
  lFadeForm.Show;
  sleep(10000);
  lFadeForm.Free;
end;

end.
Delphi-Quellcode:
unit UFadeForm;

interface

uses
  SysUtils, Forms;

type
  TFadeForm = class(TForm)
  private
    pFadeIn, pFadeOut : Boolean;

  protected
    procedure DoShow; override;
    procedure DoHide; override;
  published
    property FadeIn : Boolean read pFadeIn write pFadeIn;
    property FadeOut : Boolean read pFadeOut write pFadeOut;
  end;

implementation

procedure TFadeForm.DoShow;
begin
  // AlphaBlend runtersetzen
  if pFadeIn then
    AlphaBlendValue := 5;

  // Show "ausführen"
  inherited Show;

  // Einblenden
  if pFadeIn then
    while AlphaBlendValue < 255 do begin
      AlphaBlendValue := AlphaBlendValue + 10;
      Sleep(10);
    end;
end;

procedure TFadeForm.DoHide;
begin
// Ausblenden
  if pFadeOut then begin
    AlphaBlendValue := 255;
    while AlphaBlendValue > 5 do begin
      AlphaBlendValue := AlphaBlendValue - 10;
      Sleep(10);
    end;
  end;

  // Close "ausführen"
  inherited Close;
end;

end.
Also Fehler etc. gibts nicht, nur ist es, wie eine normale Form... "An" und "Aus" ^^

[edit]is natürlich auch AlphaBlend an [/edit]
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#15

Re: [D2005 PE] FadeForm

  Alt 30. Apr 2006, 17:59
mach mal
Delphi-Quellcode:
  
  public
    procedure Show; override;
    procedure Hide; override;
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#16

Re: [D2005 PE] FadeForm

  Alt 30. Apr 2006, 18:01
Zitat:
[Fehler] UFadeForm.pas(14): E2170 Eine nichtvirtuelle Methode kann nicht überschrieben werden
[Fehler] UFadeForm.pas(15): E2170 Eine nichtvirtuelle Methode kann nicht überschrieben werden
Ohne Do Hatte schon einen Sinn ^^

Und mit Do: Keine Änderung!
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: [D2005 PE] FadeForm

  Alt 30. Apr 2006, 18:23
Du solltest in den DoShow und DoHide Proceduren auch nicht die Show und Close Proceduren aufrufen, sondern nur die elternmethode DoShow bzw. DoHide.
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#18

Re: [D2005 PE] FadeForm

  Alt 30. Apr 2006, 18:27
Hmmm auch geändert... Tut sich nix
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: [D2005 PE] FadeForm

  Alt 30. Apr 2006, 18:49
Ausblenden funktioniert so
Delphi-Quellcode:
procedure TFadeForm.DoHide;
begin
// Ausblenden
  if pFadeOut then
  begin
    AlphaBlendValue := 255;
    while AlphaBlendValue > 5 do
    begin
      AlphaBlendValue := AlphaBlendValue - 10;
      Refresh;
      Sleep(10);
    end;
  end;
  inherited;
end;
Beim Einblenden ist es plötzlich da.
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#20

Re: [D2005 PE] FadeForm

  Alt 30. Apr 2006, 18:56
Oder man macht das ganze als Komponente TAFade

Auch wenn man die Massages Abfragt SHOWWINDOW funktioniert es beim starten nicht. Aber mit dem Timer geht es bei mir.
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz