AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Objekt an Trackbar Position ausrichten
Thema durchsuchen
Ansicht
Themen-Optionen

Objekt an Trackbar Position ausrichten

Ein Thema von Luki206 · begonnen am 27. Mär 2014 · letzter Beitrag vom 2. Apr 2014
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.577 Beiträge
 
Delphi 12 Athens
 
#1

AW: Objekt an Trackbar Position ausrichten

  Alt 27. Mär 2014, 16:53
Der Schieberegler, bzw. dessen Mitte wird ja nicht über die gesamte KomponentenLlänge verschoben.

Am Anfang und Ende gibt es ein Offset, welches man natürlich noch mit einrechnen muß.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#2

AW: Objekt an Trackbar Position ausrichten

  Alt 28. Mär 2014, 12:56
Ok danke für die Hilfe Ich habe das jetzt einmal ausprobiert und habe mit ein paar Zahlen jongliert und kam dann auf folgenden Code: pos := (Trb.Position * (Trb.Width div 100))+25; //pos ist die Position für das Image, Trb ist die Trackbar Und wenn ich dann jetzt das Objekt erzeuge ist es ziemlich genau zur Trackbar Position
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Objekt an Trackbar Position ausrichten

  Alt 28. Mär 2014, 13:20
Etwas genauer wäre vermutlich noch:

pos := ((Trb.Position * (Trb.Width - Links - Rechts)) div 100))+ Links - (Image.Width div 2);
// (Image.Width div 2) wenn das Image zentriert über dem Strich sitzen soll

Wobei Links und Rechts der Abstand des ersten und letzten Strichs zum Rand wäre.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Objekt an Trackbar Position ausrichten

  Alt 28. Mär 2014, 15:36
Du kannst die Area des Silders mit TBM_GETTHUMBRECT herausfinden. Diese ist bezogen auf die TrackBar Area. Damit kannst du dir die Pos. auf der Form errechnen.


http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#5

AW: Objekt an Trackbar Position ausrichten

  Alt 28. Mär 2014, 15:42
Hmm.. ich habe eigentlich versucht den Sachen von Microsoft aus dem Weg zu gehen da ich nicht weiß wie ich das in Delphi benutzen muss.. Gibt es dann dazu irgendwelche Beispiele?
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Objekt an Trackbar Position ausrichten

  Alt 28. Mär 2014, 15:44
Ähh Google?

Gleich der erste Treffer:

http://www.delphigroups.info/2/bf/405793.html
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#7

AW: Objekt an Trackbar Position ausrichten

  Alt 31. Mär 2014, 20:15
Ok ich habe jetzt in wenig herum gebastelt. Ich habe mir jetzt gedacht, zeichne dir doch einfach eine eigene Trackbar mit vier TImages. Zwei Enden, ein Mittelteil und ein Schieber. Alles schön und gut nur stehe ich jetzt vor dem Problem, wie mache ich das mit dem Max bzw. Min. Ich habe jetzt einmal folgendes probiert und es kommt eigentlich kein schlechtes Ergebnis dabei raus: ImgSlide.Left := ImgSlide.Left+(((ImgEck1.Left+ImgEck2.Left+32)+ max div 60)div max); (* Das Ganze liegt in einem Timer mit dem Interval 100, max wurde durch ein Edit definiert und liegt in private & der Rest erklärt sich von selbst (falls nicht hier meine Erklärung: ImgSlide= Schieber, ImgEck1= Linkeecke & ImgEck2= Rechteecke)*) Gibt es nicht noch eine elegantere Methode das zu lösen?
Danke
Luki

PS: Bei größeren Zahlen als 60 Sekunden bewegt sich der Schieber nicht mehr

Geändert von Luki206 (31. Mär 2014 um 20:17 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:45 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