Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ttrackbar reagiert bei klcik und nicht nur beim dragen (https://www.delphipraxis.net/39179-ttrackbar-reagiert-bei-klcik-und-nicht-nur-beim-dragen.html)

keineahnung1 29. Jan 2005 21:42


ttrackbar reagiert bei klcik und nicht nur beim dragen
 
hi pro's

also ich will das der onchange event von ttrackbar nur aufgerufen wir wenn man auch dragt und nicht blos wenn man irgendwo da rum klickt.

Hab ihr da ne Lösung???

keineahnung1 30. Jan 2005 09:58

Re: ttrackbar reagiert bei klcik und nicht nur beim dragen
 
ups ich glaub des war nicht so eindeutig was ich will :lol:

also:

Ich hab eine Ttrackbar, nun wir das onchange event ja auch ausgelöst wenn ich nur irgendwo auf der trackbar rumklick. Ich will aber den onchange event nur auslösen wenn er zeiger der trackbar auch wirklich verschoben wird. Wenn dies nicht geht , wäre es auch nicht schlecht wenn man einfach das klicken verbieten kann.

Hat jetzt jemand ne idee :gruebel:

Die Muhkuh 30. Jan 2005 10:23

Re: ttrackbar reagiert bei klcik und nicht nur beim dragen
 
Hi,

hab jetzt keine direkte Lösung, aber nen kleinen Vorschlag:

Speichere die Position der Trackbar ab und wenn man wieder draufklick, überprüfe ob sich die Position verändert hat. Wenn ja, dann wurde gedraggt, wenn nicht, dann nich ;).

keineahnung1 30. Jan 2005 10:31

Re: ttrackbar reagiert bei klcik und nicht nur beim dragen
 
hmm ja des hab ich mir auch schon überlegt, aber da gibts genau des problem dass sich die trackbar die ganze zeit bewegt, ist ja ein teil meines mediaplayers und die trackbar wir jede 300 ms mit nem timer aktuallisiert.

glaubst du des geht dann irgendwie mit der position abspeichern, wo sollt ich des dann am besten machen?

Die Muhkuh 30. Jan 2005 10:34

Re: ttrackbar reagiert bei klcik und nicht nur beim dragen
 
Hi,

hmm, dann ist das natürlich schlecht. Wenn du die JVCL (von den Jedi's) hast, dann nimm diese Trackbar. Die hat ein OnMouseDown und ein OnMouseUp Event. Oder erstelle dir einen NAchfahren der TTrackbar und implementiere das OnMouse-Event selbst^^.

keineahnung1 30. Jan 2005 10:40

Re: ttrackbar reagiert bei klcik und nicht nur beim dragen
 
okay des hört sich ja sehr gut an, aber wo bekomm ich diese jvcl her, dann installier ich mir die mal.

Edit :habs selber gefunden!!!!!!!

danke

edosoft 30. Jan 2005 10:44

Re: ttrackbar reagiert bei klcik und nicht nur beim dragen
 
öhm...
warum speicherst du dann nicht beim timer-positionsveränderer die aktuelle position und beim OnChange oder wie das heist einfach die position abfragen und gucken obs anders is?

keineahnung1 30. Jan 2005 11:04

Re: ttrackbar reagiert bei klcik und nicht nur beim dragen
 
hmm nee des geht nicht, ich weiß garnicht wann des on change immer ausgelöst wird, aber ich hab jetzt die abfrage rein und des bringt trotzdem nix.

jvcl gibts nicht für mein extrem teueres delphi 2005 :( mal wida geld verschwendung



hm dann bleibt wohl nurnoch das onmouse event selbst zu implementieren. aber da bräucht ich nun ein bischen hilfe, wie stell cihd enn sows an? hab da grad keine plan wie sowas geht :-)

danke

edosoft 30. Jan 2005 11:15

Re: ttrackbar reagiert bei klcik und nicht nur beim dragen
 
Zitat:

Zitat von keineahnung1
hmm nee des geht nicht, ich weiß garnicht wann des on change immer ausgelöst wird[..]

des geht recht einfach zu testen:
Delphi-Quellcode:
trackbar.Onchanche blabla
begin
beep;
end;
->jedes mal wenn der lautsprecher piept dann wars ein onchange.
dann machste das so:

---

Delphi-Quellcode:
//ganz oben bei globalen variablen
var
  Form1: TForm1; {steht schon}
  iLastPos: Integer; //hinzufügen

[blabla]

procedure timer1timer
begin
ilastpos := 123; //oder sonst ein wert halt
trackbar1.position := 123;
end;

procedure trackbar1change()
begin
if(trackbar1.position = ilastpos) then exit;
//machwas
end;

Khabarakh 30. Jan 2005 11:34

Re: ttrackbar reagiert bei klcik und nicht nur beim dragen
 
@Edosoft: Das wird allerdings etwas schwer, wenn die Trackbar wie oben beschrieben alle 300ms vom Programm selbst verändert wird :wink: .


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:09 Uhr.
Seite 1 von 2  1 2      

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