Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Absolute Position im Fenster (https://www.delphipraxis.net/61714-absolute-position-im-fenster.html)

Nightfly 25. Jan 2006 14:19


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...

Robert Marquardt 25. Jan 2006 14:26

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.

freak4fun 25. Jan 2006 15:06

Re: Absolute Position im Fenster
 
Versuch es mal mit:

Delphi-Quellcode:
Listbox1.Parent := Edit1.Parent;
MfG
freak

Nightfly 25. Jan 2006 15:28

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?

inherited 25. Jan 2006 15:31

Re: Absolute Position im Fenster
 
Aber sicher doch

Delphi-Quellcode:
var MousePosition : TPoint;
//...irgendwo wo dus brauchst
GetCursorPos(MousePosition);
und dann via MousePos.x und MousePos.y

Nightfly 25. Jan 2006 15:58

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...

freak4fun 25. Jan 2006 16:08

Re: Absolute Position im Fenster
 
Ich würde gern mal sehen was du da gemacht hast. ;)

MfG
freak

Nightfly 25. Jan 2006 16:10

Re: Absolute Position im Fenster
 
Delphi-Quellcode:
//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;
Die Editfelder Stehen in verschiedenen ComboBoxen....Will jetzt nich alles Posten, sagst du mir bitte welche Infos du noch benötigst?

freak4fun 25. Jan 2006 16:18

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

Nightfly 25. Jan 2006 16:26

Re: Absolute Position im Fenster
 
Danke schonmal...


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