AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Wait Animation
Thema durchsuchen
Ansicht
Themen-Optionen

Wait Animation

Ein Thema von EWeiss · begonnen am 14. Mär 2017 · letzter Beitrag vom 14. Apr 2017
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
EWeiss
Projekt entfernt..

Geändert von EWeiss (24. Jul 2019 um 04:49 Uhr)
 
Ghostwalker

 
Delphi 10.3 Rio
 
#31
  Alt 17. Mär 2017, 10:42
Und hier schon mal eine Runde von mir

Ich musste zwar umstellen auf die Ansi-Api, weil mein System zu alt ist. Aber funktioniert soweit
Angehängte Dateien
Dateityp: zip Spinnercomp.zip (1,87 MB, 11x aufgerufen)
Uwe
  Mit Zitat antworten Zitat
EWeiss
 
#32
  Alt 17. Mär 2017, 10:43
Und hier schon mal eine Runde von mir

Ich musste zwar umstellen auf die Ansi-Api, weil mein System zu alt ist. Aber funktioniert soweit
Lechs direkt mal testen.

gruss

Geändert von EWeiss (17. Mär 2017 um 10:53 Uhr)
  Mit Zitat antworten Zitat
EWeiss
 
#33
  Alt 17. Mär 2017, 10:53
Ok Vom Stream funktioniert nicht.
Muss es mal nach D2010 umlegen weil die Komponenten TntStdCtrls, TntDialogs nicht vorhanden sind.
Kann es so nicht debuggen.

gruss
  Mit Zitat antworten Zitat
Ghostwalker

 
Delphi 10.3 Rio
 
#34
  Alt 17. Mär 2017, 10:59
Ja, wie gesagt ich muß noch den Umweg über TNT gehen. D2010 und XP mögen sich nicht wirklich

(Aber Rettung ist in Sicht)
Uwe
  Mit Zitat antworten Zitat
EWeiss
 
#35
  Alt 17. Mär 2017, 11:13
Ja, wie gesagt ich muß noch den Umweg über TNT gehen. D2010 und XP mögen sich nicht wirklich
OK

Zitat:
(Aber Rettung ist in Sicht)
Was meinst du meine Änderungen oder deine?

EDIT:
Ok vom Stream funktioniert wenn in der Ressource der Eagle eingebaut ist.

gruss

Geändert von EWeiss (17. Mär 2017 um 11:24 Uhr)
  Mit Zitat antworten Zitat
EWeiss
 
#36
  Alt 17. Mär 2017, 12:07
Habe die Komponente nach D2010 umgeändert und zum ersten Post addiert.

gruss
  Mit Zitat antworten Zitat
Ghostwalker

 
Delphi 10.3 Rio
 
#37
  Alt 17. Mär 2017, 12:26
Uwe
  Mit Zitat antworten Zitat
EWeiss
 
#38
  Alt 17. Mär 2017, 12:58
Danke für deine Mithilfe denke sollte jetzt komplett sein

gruss
  Mit Zitat antworten Zitat
HolgerX

 
Delphi 6 Professional
 
#39
  Alt 17. Mär 2017, 14:07
Hmm..

Habe mir das Demo angesehen..
(ohne Src anzuschauen)

Was mir nur aufgefallen ist, dass der Spinner immer an der Stelle auf dem Bildschirm verbleibt, an welcher er gestartet wurde.

Verschiebt man nun das Fenster der Applikation oder minimized es, bleibt der Spinner stehen.

Vielleicht gibt es ja eine Möglichkeit das der Spinner mitgeht.

Und eventuell Transparenz?

(alles nur Ideen.. )
  Mit Zitat antworten Zitat
EWeiss
 
#40
  Alt 17. Mär 2017, 14:14
Zitat:
Was mir nur aufgefallen ist, dass der Spinner immer an der Stelle auf dem Bildschirm verbleibt, an welcher er gestartet wurde.
Ja es ist eine Wait Animation.
Und diese wird zentriert über das Parent Fenster gesetzt.

Es ist nicht vorgesehen das die Animation mitgeht.
Ich glaube nicht das wenn eine Anwendung bei verschiedenen Prozessen ausgelastet ist der User sein Window Verschieben will.
Das Sample ist ja nicht maßgeblich da hier die Animation nur gestartet und beendet wird.

Bsp.
Ich starte eine Anwendung die beim initialisieren ein liste mit mehr als 5000 Einträge lädt.
Delphi-Quellcode:
function TPlayList.LoadM3UFile(Filename: String): Boolean;
var
  F: TextFile;
  Buffer, iTime, sFilename, sParse: string;
  k, iPos1, iPos2: Integer;
begin
  Spinner := CTRL_SpinnerCreate;
  SpinnerHandle := Spinner.CreateWindow(MainHandle);
  SpinnerFile := SKAERO_FOLDER + 'Spinner.png';
  Spinner.Start(MainHandle, SpinnerHandle, SpinnerFile, 30);

  AssignFile(F, Filename);
  Reset(F);
  PlayListCount := 0;
  while not Eof(F) do
  begin
    ReadLn(F, Buffer);
    if Buffer = '#EXTM3Uthen
      Continue;

    ReadLn(F, sFilename);
    LVPlayList.SetSysItemIcon(PlayListCount, 2, sFilename);

    if Pos('#EXTINF', Buffer) > 0 then
    begin
      LVPlayList.InsertItem(LVPlayList.Handle, PlayListCount, IntToStr(PlayListCount + 1));
      iPos1 := Pos(':', Buffer);
      iPos2 := Pos('|', Buffer);

      iTime := Copy(Buffer, iPos1 + 1, iPos2 - iPos1 - 1);
      LVPlayList.SetItemText(LVPlayList.Handle, PlayListCount, 1, iTime);

      for k := 0 to 2 do
      begin
       sParse := ParseThis(Buffer, '|', K + 1);
       case K of
         0:
           LVPlayList.SetItemText(LVPlayList.Handle, PlayListCount, 2, sParse);
         1:
           LVPlayList.SetItemText(LVPlayList.Handle, PlayListCount, 3, sParse);
         2:
           LVPlayList.SetItemText(LVPlayList.Handle, PlayListCount, 4, sParse);
       end;
      end;
      LVPlayList.SetItemText(LVPlayList.Handle, PlayListCount, 5, sFilename);

      Inc(PlayListCount);
    end
    else
    begin
      if ExtractFilePath(Buffer) = 'then
        FFile.Add(ExtractFilePath(Filename) + Buffer)
      else
        FFile.Add(Buffer);

      FTitle.Add(Buffer);
      FTime.Add('');
    end;
  end;
  CloseFile(F);

  LVPlayList.SetColAutoSize(LVPlayList.Handle, 2);
  LVPlayList.SetColAutoSize(LVPlayList.Handle, 3);
  LVPlayList.SetColAutoSizeUseHeader(LVPlayList.Handle, 4);

  if (PlayListCount > 0) then
    MainApp.PlayListPlay(LVPlayList.Handle, PlayListCount);

  Result := True;
end;
Dann starte ich den Spinner.
Nach dem laden wenn das Fenster angezeigt wird beendet sich dieser.
Also ein Fenster ist in dem Fall gar nicht sichtbar wenn die Animation startet.

Delphi-Quellcode:
      MainInit := TRUE;

      if SpinnerHandle <> 0 then
        SpinnerHandle := Spinner.Stop;

      while GetMessage(Msg, 0, 0, 0) do
      begin
        if IsDialogMessage(MainApp.Handle, Msg) = False then
        begin
          TranslateMessage(Msg);
          DispatchMessage(Msg);
        end;
      end;
Zitat:
Und eventuell Transparenz?
Welche Transparenz?

Die Animationen sind Transparent dazu verwende ich die DWM.

gruss

Geändert von EWeiss (17. Mär 2017 um 14:22 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 09:26 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