Fehlerhafte Position von TPanels

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Dr. Cosnole
Beiträge: 8
Registriert: Mo 27. Jan 2014, 18:50

Fehlerhafte Position von TPanels

Beitrag von Dr. Cosnole »

Moin zusammen,

ich bin vor kurzem von Java auf FPC umgestiegen und habe nun ein kleines Problem mit meinen Panels.
Ich möchte eine "Schaltfläche" aus einem Panel machen und bei einem Rechtsklick ein weiteres Panel an der stelle öffnen, wo sich in dem Moment mein Coursor befindet.
Soweit so gut, nur das sich das 2. Panel immer auf x & y Achse nach unten-rechts verschoben öffnet.
Wäre nett, wenn mir jemand sagen könnte, wo der Fehler sitzt, bzw. was ich da evt. besonderes beachten muss.
Ich benutze momentan Lazarus v.1.2RC2 für 64bit unter Win7 Ultimate.
Hier mein aktueller Code :

Code: Alles auswählen

procedure TForm1.Panel1ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
  Panel2.SetBounds(Mouse.CursorPos.x, Mouse.CursorPos.y,256,256);
  Panel2.Visible:= true;
  Statusmenu_o:= true;
end;  
Schon mal danke im Vorraus.

Nette Grüße
Dr. Console

Code: Alles auswählen

var name : String;
name:= "Dr. Cosnole"; // Verdammter Tippfehler

Benutzeravatar
theo
Beiträge: 10859
Registriert: Mo 11. Sep 2006, 19:01

Re: Fehlerhafte Position von TPanels

Beitrag von theo »

Probier mal so:

Code: Alles auswählen

var Mp:TPoint;
begin
   Mp:=ScreenToClient(Mouse.CursorPos);
   Panel2.Left:=Mp.x;
   Panel2.Top:= Mp.y;
end;       

Dr. Cosnole
Beiträge: 8
Registriert: Mo 27. Jan 2014, 18:50

Re: Fehlerhafte Position von TPanels

Beitrag von Dr. Cosnole »

Vielen dank, funktioniert perfekt! :)

Nette Grüße
Dr. Console

Code: Alles auswählen

var name : String;
name:= "Dr. Cosnole"; // Verdammter Tippfehler

Antworten