![]() |
AW: Wait Animation
Liste der Anhänge anzeigen (Anzahl: 1)
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 :) |
AW: Wait Animation
Zitat:
gruss |
AW: Wait Animation
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 |
AW: Wait Animation
Ja, wie gesagt ich muß noch den Umweg über TNT gehen. D2010 und XP mögen sich nicht wirklich :)
(Aber Rettung ist in Sicht) |
AW: Wait Animation
Zitat:
Zitat:
EDIT: Ok vom Stream funktioniert wenn in der Ressource der Eagle eingebaut ist. gruss |
AW: Wait Animation
Habe die Komponente nach D2010 umgeändert und zum ersten Post addiert.
gruss |
AW: Wait Animation
:thumb:
|
AW: Wait Animation
Zitat:
gruss |
AW: Wait Animation
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.. ;) ) |
AW: Wait Animation
Zitat:
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:
Dann starte ich den Spinner.
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 = '#EXTM3U' then 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; 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:
Die Animationen sind Transparent dazu verwende ich die DWM. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz