Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ProgressBar Status hin/her bewegen ??? (https://www.delphipraxis.net/27766-progressbar-status-hin-her-bewegen.html)

CoRe.eXtreem 15. Aug 2004 14:15


ProgressBar Status hin/her bewegen ???
 
Hi,
wie hat der Author (Martin W) das mit der ProgressBar beim Splash-Screen gemacht?

http://www.delphipraxis.net/internal...ct.php?t=29941

Der Status bewegt sich hin und her. Würde mich mal interesieren wie das funktioniert??

Gruß Core

w3seek 15. Aug 2004 14:23

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.

CoRe.eXtreem 15. Aug 2004 14:25

Re: ProgressBar Status hin/her bewegen ???
 
war nur so ne frage sieht irgendwie witzig aus :mrgreen:

Danke, Core

Basic-Master 15. Aug 2004 14:42

Re: ProgressBar Status hin/her bewegen ???
 
gibts net bei den jedis so ne progressbar :?: :gruebel:

CoRe.eXtreem 7. Aug 2005 11:15

Re: ProgressBar Status hin/her bewegen ???
 
Achja hier ist der Code, habe ihn zufällig beim stöbern gefunden.

http://www.swissdelphicenter.ch/de/showcode.php?id=1680

Delphi-Quellcode:
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.
Viele Grüße,

CoRe.eXtreem

MrKnogge 7. Aug 2005 12:43

Re: ProgressBar Status hin/her bewegen ???
 
Die Komponente benötigt zusätzlich noch das XP-Manifest im Programm, andernfalls funktioniert sie nicht.

gruss

Jarmen_Kell 7. Aug 2005 12:56

Re: ProgressBar Status hin/her bewegen ???
 
Zitat:

gibts net bei den jedis so ne progressbar Question Grübelnd...
Natürlich hat auch Jedi da was!

Das Ding heißt z.B. TJvWaitingGradient (Standardmäßig unter "Jv Bars, Panels")

MrKnogge 7. Aug 2005 13:00

Re: ProgressBar Status hin/her bewegen ???
 
Wenn ich mich richtig erinnere, aber nicht im XP-Stil.

gruss

christian.noeding 7. Aug 2005 13:11

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

MrKnogge 7. Aug 2005 13:23

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.
Seite 1 von 2  1 2      

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