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 Problem mit ClientToScreen (https://www.delphipraxis.net/63826-problem-mit-clienttoscreen.html)

Jelly 23. Feb 2006 13:36


Problem mit ClientToScreen
 
Ich möchte beim Klicken eines Button (Buttons sind voll in), dass sich direkt darunter ein Form öffnet... Dazu habe ich diesen Code:
Delphi-Quellcode:
procedure TfrmAuftraege.acEditChangePropertyExecute(Sender: TObject);
var
 frm : TfrmFindProperty ;
 P : TPoint ;
begin
     frm := TfrmFindProperty.Create(self) ;
     P := Point (cmdEditLiegenschaft.Left,cmdEditLiegenschaft.Top) ;
     P.Y := cmdEditLiegenschaft.Height + P.Y ;
     P := cmdEditLiegenschaft.ClientToScreen(P) ;
     frm.Top := P.Y ;
     frm.Left := P.x ;
     frm.show ;
end;
cmdEditLiegenschaft ist der Button.

Doch leider ist das Form nicht an der gewünschten Stelle. Der button selbst liegt in einem Tabsheet, das Tabsheet in einem Pagecontrol usw... Warum klappt das nicht. Hier mal ein Screenie

sh17 23. Feb 2006 14:00

Re: Problem mit ClientToScreen
 
Du musst immer von Parent des Button ausgehen:

liegt mein Button z.B. im Panel panel1, dann

Delphi-Quellcode:
var
  p : TPoint;
begin
  p := panel1.ClientToScreen(Point(Button1.Left,Button1.Top+Button1.Height));
  PopUpmenu1.Popup(p.X,p.Y);

Jelly 23. Feb 2006 14:35

Re: Problem mit ClientToScreen
 
:wall: Das wars schon. Ich geb einen aus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 Uhr.

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