![]() |
Koordinaten eines Buttons stimmen nicht mehr.
Hallo allerseits,
ich habe folgendes Problem: Ich habe einen Button, der Beim Click ein Popup-Fenster mit einem Untermenü öffnet. Dieser Button liegt auf einem Panel, was wiederum auf einer GroupBox liegt, welche wiederum auf einem Panel und dieses wiederum auf einem Tabsheet liegt. Im Designmodus platziere ich den Button (Top = 10, Left = 8, Height = 25). Die Onclick-Methode sieht folgendermaßen aus (Bezeichner sind angepasst):
Delphi-Quellcode:
Da ich dynamisch noch Panels oberhalb dieses Buttons einschiebe, funktioniert das aber nicht so wirklich, da das Popup immer bei den Koordinaten erscheint, die ich im DesignModus angegeben habe. Hat jemand eine Idee?
procedure TMyForm.myButtonClick(Sender: TObject);
var p: TPoint; begin p.X := myButton.Left; p.Y := myButton.Top + myButton.Height; p := myButton.ClientToScreen(p); myPopup.Popup(p.X, p.Y); end; |
Re: Koordinaten eines Buttons stimmen nicht mehr.
Moin,
du musst nicht myButton.ClientToScreen sondern mit dem Parent des Buttons ClientToScreen aufrufen. Dann sollte das klappen. Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 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