![]() |
Absolute Position im Fenster
Hi
Durch Anweisungen der Art Listbox1.Top := Edit1.Top (und entsprechend mit Left) will ich eine ListBox zur Laufzeit an verschiedenen Stellen in meinem Formular. Leider besteht dieses aus mehreren GroupBoxen... wodurch die ListBox nicht immer beim richtigen EditFeld auftaucht. Die Koords der Editfelder sind wohl relativ zur GroupBox, in der sie sich befnden. Wie kann ich das ausgleichen? Ich könnte auch, wen ich wäßte wie, die ListBox beim OnClick auf ein Editfeld direkt unterm Mauszeiger Zeichnen... |
Re: Absolute Position im Fenster
Dasbedeutet das die Listbox die Groupbox als Parent hat.
Will man in einer anderen Groupbox anzeigen, so muss man den Parent wechseln. Das hat aber natuerlich auch Auswirkung auf die Tabstop-Position. Ergo das Verschieben ist wahrscheinlich unsinnig. |
Re: Absolute Position im Fenster
Versuch es mal mit:
Delphi-Quellcode:
MfG
Listbox1.Parent := Edit1.Parent;
freak |
Re: Absolute Position im Fenster
Das haut nich so richtig hin, hab ich schon versucht. Gibts keine Funktion, die die aktuellen Koordinaten des Mauszeigers zurückgibt?
|
Re: Absolute Position im Fenster
Aber sicher doch
Delphi-Quellcode:
und dann via MousePos.x und MousePos.y
var MousePosition : TPoint;
//...irgendwo wo dus brauchst GetCursorPos(MousePosition); |
Re: Absolute Position im Fenster
Danke...so halb gehts... bloß haut mir das ab und an noch meine GroupBoxen durcheinander... D.h. es liegt neben der GroupBox, und verschiebt diese nach rechts. Es soll sich aber darüberlegen...
|
Re: Absolute Position im Fenster
Ich würde gern mal sehen was du da gemacht hast. ;)
MfG freak |
Re: Absolute Position im Fenster
Delphi-Quellcode:
Die Editfelder Stehen in verschiedenen ComboBoxen....Will jetzt nich alles Posten, sagst du mir bitte welche Infos du noch benötigst?
//List box leeren, anzeigen und Verschieben
ListBox1.Items.Clear; GetCursorPos(MousePosition); ListBox1.Parent := (Sender as TDBEdit).Parent; ListBox1.Left := MousePosition.x; ListBox1.Top := MousePosition.y; ListBox1.Visible := true; |
Re: Absolute Position im Fenster
Achso, du willst die Listbox immer an der Mouse haben? :gruebel:
Dann hab ich das falsch verstanden. Ich dachte die Listbox soll immer unter der Komponente sein in die gerade etwas geschrieben wird. :) Wenn ich zu Hause bin kann ich ja mal meine Variante posten. MfG freak |
Re: Absolute Position im Fenster
Danke schonmal...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 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