Hvilken WinControl ?
Hej, jeg har en kode hvor jeg i runtime creater en masse paneler, der alle har samme onMouseUp-procedure nemlig TMDIChild.Panel2MouseUp. Koden gør at nå der højreklikkes på et af de createde paneler, åbnes der "manuelt" en popupmenu. I proceduren, der åbner den, behandler den TWinControl(Sender), altså det komponent (et af de createde paneler) der har igangsat popup-proceduren:procedure TMDIChild.Panel2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (Button = mbRight) then
Popup(TWinControl(Sender));
end;
Den henviser til denne procedure, som ændrer nogle variabler og udløser PopUpMenu2:
procedure TMDIChild.Popup(Sender: TObject);
var
P : TPoint;
begin
GetCursorPos(P);
with P do
PopupMenu2.Popup(X,Y);
with TWincontrol(Sender) do
begin
MIndstillinger.varMCaption := Caption;
MIndstillinger.varMLe := Height;
MIndstillinger.varMBe := Width;
showmessage(name);
end;
end;
Nu er problemet bare at "Caption" ikke er Panelets (det panel, der har udløst proceduren) caption, men formen panelet ligger på's caption. Det sammen med "Name". Det mærkelige er, at Width og Heigth ER panelets. Hvordan kan jeg sikre at det er komponenten, der har igangsat popupproceduren, der også er TWincontrol? Eller har nogen et andet forslag til kode?
