Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Exakte Position vom (im) Label (https://www.delphipraxis.net/159624-exakte-position-vom-im-label.html)

EWeiss 5. Apr 2011 16:18


Exakte Position vom (im) Label
 
Ich habe ein overlay Label auf meine Form gesetzt.
Beim klick auf dem Label hole ich mir über GetCursorpos die aktuelle X Koordinate.

Mit dieser möchte ich nun meine StartBar auf die Position setzen von der aus ich später meinen Song abspielen möchte.
aber irgendwie ist die berechnung nicht korrekt.

Hab mich da mal schlau gemacht..
Delphi-Quellcode:
Round((Twips.X / 1440) * PixelsPerInchX);
Aber auch hier bekomme ich nicht das richtige maß.
Auch nicht wenn ich loword(lp) für den TPoint übergebe.

Welche möglichkeiten gibt es da noch?

gruss

alfold 5. Apr 2011 16:49

AW: Exakte Position vom (im) Label
 
Soll es die Position sein deiner Komponente auf der Du klickst oder die Position der Maus?
Ersteres würde so gehen!
Delphi-Quellcode:
Position := Point(DeineKomponente.Left, DeineKomponente.Top);


alfold

lbccaleb 5. Apr 2011 16:58

AW: Exakte Position vom (im) Label
 
Emil, du solltest vllt öfter drauf hinweisen, dass es sich dabei um eine nonVCL Applikation handelt. Sonnst bekommst du immer wieder Antworten die auf der Hand liegen.^^

EWeiss 5. Apr 2011 17:10

AW: Exakte Position vom (im) Label
 
Zitat:

Zitat von lbccaleb (Beitrag 1093218)
Emil, du solltest vllt öfter drauf hinweisen, dass es sich dabei um eine nonVCL Applikation handelt. Sonnst bekommst du immer wieder Antworten die auf der Hand liegen.^^

Ja ist wohl wahr..
Trotzdem Danke für die Antwort.

Habe es mittlerweile hinbekommen.

Delphi-Quellcode:
          if not MidiTracker.PlayingSong then
          begin
            GetCursorPos(p);
            ScreenToClient(OverLayLabel.Handle, p);
            MidiTracker.SetStartBar(MidiTracker.Handle, p.x);
          end;
Ist nicht Hundert Prozent exakt aber es reicht mir so.

Gruss


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