![]() |
ProgressBar Status hin/her bewegen ???
Hi,
wie hat der Author (Martin W) das mit der ProgressBar beim Splash-Screen gemacht? ![]() Der Status bewegt sich hin und her. Würde mich mal interesieren wie das funktioniert?? Gruß Core |
Re: ProgressBar Status hin/her bewegen ???
das ist der PBS_MARQUEE style der progress bars, geht aber nur mit comctl32.dll version 6.0 (XP und spaeter). In seinem beispiel hat er wohl ein control dafuer gebastelt oder auf ein fertiges zurueckgegriffen.
|
Re: ProgressBar Status hin/her bewegen ???
war nur so ne frage sieht irgendwie witzig aus :mrgreen:
Danke, Core |
Re: ProgressBar Status hin/her bewegen ???
gibts net bei den jedis so ne progressbar :?: :gruebel:
|
Re: ProgressBar Status hin/her bewegen ???
Achja hier ist der Code, habe ihn zufällig beim stöbern gefunden.
![]()
Delphi-Quellcode:
Viele Grüße,
unit MarqueeProgressBar;
interface uses SysUtils, Windows, Classes, Controls, ComCtrls, Messages; type TMarqueeProgressBar = class(TProgressBar) private FActive: Boolean; FAnimationSpeed: Integer; procedure SetActive(const Value: Boolean); procedure SetAnimationSpeed(const Value: Integer); procedure UpdateProgressBar; protected procedure CreateParams(var Params: TCreateParams); override; public constructor Create(AOwner: TComponent); override; published property Active: Boolean read FActive write SetActive; property AnimationSpeed: Integer read FAnimationSpeed write SetAnimationSpeed; end; const PBS_MARQUEE = $08; PBM_SETMARQUEE = WM_USER + 10; procedure Register; implementation procedure Register; begin RegisterComponents('SwissDelphiCenter', [TMarqueeProgressBar]); end; constructor TMarqueeProgressBar.Create(AOwner: TComponent); begin inherited; FAnimationSpeed := 60; end; procedure TMarqueeProgressBar.CreateParams(var Params: TCreateParams); begin inherited; Params.Style := Params.Style or PBS_MARQUEE; end; procedure TMarqueeProgressBar.SetActive(const Value: Boolean); begin FActive := Value; UpdateProgressBar; end; procedure TMarqueeProgressBar.SetAnimationSpeed(const Value: Integer); begin FAnimationSpeed := Value; UpdateProgressBar; end; procedure TMarqueeProgressBar.UpdateProgressBar; begin if FActive then SendMessage(Self.Handle, PBM_SETMARQUEE, 1, FAnimationSpeed) else SendMessage(Self.Handle, PBM_SETMARQUEE, 0, 0); end; end. CoRe.eXtreem |
Re: ProgressBar Status hin/her bewegen ???
Die Komponente benötigt zusätzlich noch das XP-Manifest im Programm, andernfalls funktioniert sie nicht.
gruss |
Re: ProgressBar Status hin/her bewegen ???
Zitat:
Das Ding heißt z.B. TJvWaitingGradient (Standardmäßig unter "Jv Bars, Panels") |
Re: ProgressBar Status hin/her bewegen ???
Wenn ich mich richtig erinnere, aber nicht im XP-Stil.
gruss |
Re: ProgressBar Status hin/her bewegen ???
?? irgendwie bin ich nicht fähig, die Komponente zu registrieren... ich muss doch eigentlich die Source in eine *.pas File schreiben und dann bei (Delphi 7) oben im Menü nur auf "Komponente installieren...", *.pas File auswählen und die dcl neu kompilieren...
da stürtzt mir aber Delphi mit einer Zugriffsverletzung ab... stimmt was an der Source nicht (finde dann aber den Fehler nicht) oder mache ich was falsch?? Andere Komponenten aus pas-Files kompilieren allerdings einwandfrei. schöne Grüße, Christian |
Re: ProgressBar Status hin/her bewegen ???
Was meinst du mit "in eine *.pas-file schreiben" ?
Obiger Code ist die komplette *pas-file. Welches OS hast du ? gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 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-2025 by Thomas Breitkreuz