Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Progressbar auch als eingabe nutzen für mediaplayer Pos. (https://www.delphipraxis.net/52247-progressbar-auch-als-eingabe-nutzen-fuer-mediaplayer-pos.html)

No Voices 25. Aug 2005 23:44


Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Hallo alle zusammen!

Ich habe schon vor längerer zeit einen mp3 Player geschrieben und zur Song Position eine schiebe "regler" benutz.
Leider kann ich nicht an einer belibigen position klicken um zu der pos im song zu springen, ich muß immer den Regler selber anklicken und dan ziehen. Ich habe nun vor das so zu handhaben wie beim Windows Mediaplayer, wo ich klicke springt er hin.

Das problem ist nun das die Progressbar ja nur zu ausgabe gedacht ist, Oder?

Wie kann ich das also auch zur eingabe nutzen? da ich nur einen Balken haben will ohne knopf!

Ich habe schon versucht über die Mause.Pos was zu machen aber das funzt nicht...

Lieben Gruß

NoVoices

tigerman33 28. Aug 2005 18:38

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Wie äußert sich denn das Problem mit Mouse.Pos? Hast du die Mauskoordinaten denn auch in Client-Koordinaten umgerechnet? Delphi-Referenz durchsuchenScreenToClient

PS: Das Wort heißt "funktioniert"

No Voices 30. Aug 2005 14:43

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
ich möchte auf derProgressbar igendwo hin klicken und dann soll die Progressbar .pos an diese position springen, das geht aber nicht. Ich habe ja so keine eingabe möglichkeit bei der Progressbar. dun wenn ich das über mouse.pos.x und form.left und so versuche ist es zu ungenau.

freak4fun 30. Aug 2005 14:53

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Hi :hi:,

versuchs mal so:

Delphi-Quellcode:
procedure TForm1.ProgressBar1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ProgressBar1.Max := ProgressBar1.Width;
  ProgressBar1.Position := X;
end;
MfG
freak

Luckie 30. Aug 2005 14:56

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Ich rate eigentlich immer davon ab Bedienelemente zu zweckentfremden. Es er höht nicht die Bedienbarkeit und verwirrt eher den Anwender.

tigerman33 30. Aug 2005 15:03

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Hat die Scrollbar eigentlich einen Canvas? Dann könnte man ja einfach eine abgeleitete Komponente schreiben und der halt ein "eigenes" Aussehen und einen neuen Click-Handler (okay, das geht auch ohne Canvas) verpassen.

freak4fun 30. Aug 2005 15:37

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Zitat:

Zitat von Luckie
Ich rate eigentlich immer davon ab Bedienelemente zu zweckentfremden. Es er höht nicht die Bedienbarkeit und verwirrt eher den Anwender.

Ich würde das nicht Zweckentfremdung nennen, sondern Erweiterung. ;)

Das funktioniert übrigens wunderbar. :mrgreen: Danke für die Frage.

MfG
freak

Luckie 30. Aug 2005 17:06

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Zum Navigieren ist eine Trackbar gedacht. Eine Fortschrittsanzeige, ist wieder Name schon sagt, dazu gedacht einen Fortschritt anzuzeigen. Für mich wäre dass dann doch eine Zweckentfremdung. Und wenn man immer erst dazuschreiben muss, wie ein Kontroll zu benutzen ist, ist das schon ein Minuspunkt für die GUI. Eine GUI sollte intuitiv zu bedienen sein.

Aenogym 30. Aug 2005 17:51

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Zitat:

Zitat von Luckie
Zum Navigieren ist eine Trackbar gedacht. Eine Fortschrittsanzeige, ist wieder Name schon sagt, dazu gedacht einen Fortschritt anzuzeigen. Für mich wäre dass dann doch eine Zweckentfremdung. Und wenn man immer erst dazuschreiben muss, wie ein Kontroll zu benutzen ist, ist das schon ein Minuspunkt für die GUI. Eine GUI sollte intuitiv zu bedienen sein.

richtig.

@no voices:
such mal einfach bei torry. es gibt unzählige solcher komponenten, die genau das tun, was du möchtest und einige davon können sogar einen eigenen skin bekommen.
wenn du lieber mit windows-eigenen controls arbeiten willst, empfehle ich dir die Delphi-Referenz durchsuchenTTrackBar. die ist fast ideal für diese zwecke.

aeno

No Voices 4. Sep 2005 22:28

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Ich muß zwar keine windows-eigene controlls verwenden. aber es ist manchmal einfacher, für beide Seiten. Ich werde den code mal testen.

Ich habe nun die ProgressBar gewähl weil ich denke das es noch einfacher für den anwender ist. Wer lust hat kann mal auf www.NoVoices.de nachsehen, da ist mein Player abgebildet. So wie er da ist habe ich ihn schon ein Jahr getestet und mir meine Notizen gemacht. Jetzt zum Winter möchte ich ihn überarbeiten und Fertig stellen. Werde Ihn dan auch als Download bereit stellen.

Auch aus diesem grund möchte ich möglichst keine fremden Komponenten benutzen, wegen rechte und liezensen und so.

Ihr könnt ja mal sagen was Ihr davon haltet.

Lieben gruß

NoVoices

Ultimator 4. Sep 2005 22:32

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Hmmm, mit der Standard-Trackbar wird das schwierig.
Ich würde die TJvTrackBar emofehlen, weil die OnMouseUp/-Down-Events hat.
Das ist praktisch, um das Lied pausieren zu lassen, wenn man drückt, und dann beim Loslassen wieder das Lied an die passende Stelle zu setzen..

No Voices 20. Sep 2005 06:25

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Und wo bekomme ich die her

BrunoT 20. Sep 2005 07:46

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Hier:

Project Jedi

mfg

BrunoT

No Voices 20. Sep 2005 13:11

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Kann das sein das ich da so nicht ran komm? unter suche danach hat er nichts gefunden.

Ultimator 20. Sep 2005 13:13

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Nein, du musst die gesamte JCL und JVCL runterladen.
Dann hast du noch viel mehr Komponenten, als "nur" die TJvTrackbar ;)

No Voices 6. Mär 2006 18:39

Re: Progressbar auch als eingabe nutzen für mediaplayer Pos.
 
Naja habe es jetzt hin bekommen.Die lösung * Prozent rechnung *
Ich ermittel die maus Position X von der Progressbar in % un übertrage sie auf die spiellänge in % das klappt ganz gut.

Danke :thumb:


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