Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Progressbar(gauge) vorspulen (https://www.delphipraxis.net/148535-progressbar-gauge-vorspulen.html)

-Phantom- 3. Mär 2010 20:44


Progressbar(gauge) vorspulen
 
Hey Leute,

Ich programmiere zurzeit einen kleinen Mediaplayer (ohne die bass.dll). Ich habe die meisten Dinge schon geschafft aber ich möchte ja auch der der User im Lied vorspulen kann.
Also beim abspielen ist das so
Delphi-Quellcode:
// Das läuft unter dem Timer
if sgauge1.MaxValue <> 0 then
sgauge1.Progress := mediaplayer1.Position;
Also um den sgauge1.Progress zu verändern muss ich die mediaplayer1.position verändern richtig?
Dann hab ich unter dem event "TForm1.sGauge1MouseDown" das hier versucht :
Delphi-Quellcode:
mediaplayer1.Position := mouse.CursorPos.X;
Ging total in die Hose, denn mouse.Cursorps.x; hat irgendwie nichts damit zu tun.
Ist es überhaupt möglich das mit einer Progressbar(Gauge) zu realisieren ?
Wenn ja wie?

Hoffe mal ihr könnt mir helfen

gruß

Mathias

Matze 3. Mär 2010 20:54

Re: Progressbar(gauge) vorspulen
 
Hallo,

dazu sind eher Komponenten wie eine TTrackBar (Reiter: Win32) gedacht. Die von dir genannten Komponenten sind nur für die Anzeige eines Fortschritts ausgelegt.

Grüße, Matze

-Phantom- 3. Mär 2010 20:56

Re: Progressbar(gauge) vorspulen
 
ist es den überhaupt nicht möglich das mit einer Progressbar zu schaffen?

Matze 3. Mär 2010 21:07

Re: Progressbar(gauge) vorspulen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von -Phantom-
ist es den überhaupt nicht möglich das mit einer Progressbar zu schaffen?

Man kann natürlich schon tricksen, aber ob das so sinnvoll ist? Auf die Schnelle habe ich dir mal etwas zusammen getippt (s. Anhang).

Edit: Anhang aktualisiert, da ein Klick auf die ProgressBar (ohne Mausbewegung) ihren Wert nicht veränderte.

-Phantom- 3. Mär 2010 21:22

Re: Progressbar(gauge) vorspulen
 
Danke danke danke :-D :-D

Klappt Super.

Hätte so ne frage damit ich das auch verstehe was soll "LeftMBDown" also was ist das?
der "Klick" auf der progressbar?
und wieso muss das unter Private?
Delphi-Quellcode:
private
    { Private declarations }
    LeftMBDown: boolean;

Matze 3. Mär 2010 21:26

Re: Progressbar(gauge) vorspulen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich weiß nicht, ob man im OnMouseMove feststellen kann, ob eine Maustaste gedrückt ist. Sicher geht es irgendwie. Vielleicht gibt's da was wie "GetAsyncKeyState" o.ä.

Mit der Variablen kann ich das prüfen. Im OnMouseDown setze ist diese auf "true", wenn die linke Maustaste gedrückt wurde und im OnMouseUp und OnMouseLeaver auf "false".
Im OnMouseMove wird die ProgresssBar dann nur verändert, wenn die Variable "true" bzw. die linke Maustaste gedrückt ist. Sonst verändert sich diese auch ohne eine gedrückte Maustaste und das wäre natürlich schlecht.

Edit: Es geht sogar mit "GetAsyncKeyState" (s. Anhang).

-Phantom- 3. Mär 2010 21:32

Re: Progressbar(gauge) vorspulen
 
Wo ist der unterschied zwischen dem ersten und der Aktuellenversion? also von deinem Anhang?

Matze 3. Mär 2010 21:34

Re: Progressbar(gauge) vorspulen
 
Huch, ich habe nicht gespeichert. Ich habe den Anhang aktualisiert, sorry.

-Phantom- 3. Mär 2010 21:36

Re: Progressbar(gauge) vorspulen
 
Oke alles klar danke dir


Alle Zeitangaben in WEZ +1. Es ist jetzt 00: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