Delphi-PRAXiS

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 Controlposition feststellen (https://www.delphipraxis.net/7059-controlposition-feststellen.html)

MatthiasW 31. Jul 2003 17:15


Controlposition feststellen
 
Hallo,

ich möchte in meiner Komponente feststellen, an welcher Position sich diese auf dem Formular befindet, ClientRect gibt mir aber nur die Höhe und Breite der Kompo an. Weis jemand wie ich an die Infos kommen kann? :?:

Danke im voraus Matthias

Duffy 31. Jul 2003 18:42

Re: Controlposition feststellen
 
Hallo MatthiasW,
ich weiß ja nicht was Du dir für eine Komponente geschrieben hast. Sie sollte aber die Properties "Left" und "Top" besitzen. Dann hast Du die Position auf deinem Formular.
bye

MatthiasW 31. Jul 2003 19:12

Re: Controlposition feststellen
 
Hallo,

danke für deine Hilfe,
da sieht mans wieder: ich hab den Wald vor lauter Bäumen nicht gesehen :wall: :wall: :wall: :wall: :coder:

MatthiasW 31. Jul 2003 19:32

Re: Controlposition feststellen
 
Was ich eigentlich machen wollte, wenn in meinem Kontrol mit der Maus geklickt wird soll an dessen linker unterer seite ein anderes Kontrol angezeigt werden. Aber irgendwie funktioniert das net. Mein code ist der folgende:

Im Constructor:

fCursorList := TXPComboBoxList.Create(Parent);
fCursorList.parent := Parent;
fCursorList.Visible := False;

In der Procedure die ausgelöst wird wenn der Benutzer mit der Maus klickt steht folgendes:

fCursorList.Left := Left;
fCursorList.Top := Top + Height + 1;
fCursorList.Items.Assign(fItems);
fCursorList.visible := True;

Wenn der Bentzer erneut klickt wird das ganze wieder unsichtbar gemacht.

Aber von meinem dynamisch erzeugten Kontrol wird nix angezeigt, verrückt :?:

Was ist hier falsch??

Mfg Matthias

Duffy 1. Aug 2003 06:30

Re: Controlposition feststellen
 
Hallo MatthiasW,
ich habe keinen blassen Schimmer. Aber es könnte sich hier um die beiden Statements drehen.
Delphi-Quellcode:
fCursorList := TXPComboBoxList.Create(Parent);
fCursorList.parent := Parent;
bye

Christian Seehase 1. Aug 2003 23:16

Re: Controlposition feststellen
 
Moin Matthias,

als Ergänzung zu Duffys Posting:

Beim Create wird i.d.R. der Owner der Komponente angegeben. Wird der Owner zerstört, werden auch alle zu diesem gehörigen Komponenten zerstört. Wird hier nil angegeben, musst Du Dich um die Freigabe der Resourcen selber kümmern, ansonsten passiert das automatisch (eben wenn der Owner freigegeben wird).
Der Owner hat nichts mit der Anzeige der Kompo zu tun.

Der Parent hingegen legt fest innerhalb welcher Kompo die neue Kompo angezeigt wird, bzw. welcher sie unmittelbar untergeordnet ist, wobei die Positionsangaben (Left, Top usw.) immer relativ zum Parent anzusehen sind.

Eventuell kann es Dir auch helfen, wenn Du Dir mal die hier zu findenden Beispiele zu Hier im Forum suchenCreateWnd ansiehst.
Bei Create existiert Deine übergeordnete Kompo noch nicht vollständig, bei CreateWnd hingegen schon.

MatthiasW 5. Aug 2003 10:49

Re: Controlposition feststellen
 
Hallo,

danke für deine Hilfe, konnte mich jetzt paar Tage net melden, da mein DSL - Zugang net ging.

Ja, ich denke das liegt daran, das im Constructor noch kein Handle existiert, werds mal in CreateWnd versuchen.

Mfg Matthias


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