Thema: Delphi StringGrid und Popup

Einzelnen Beitrag anzeigen

taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#11

Re: StringGrid und Popup

  Alt 5. Jan 2008, 22:05
Moin, Moin.

Vielleicht mal einen alternativer Lösungsansatz ...

Delphi-Quellcode:
procedure TfoTest9.StringGrid1MouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
var iCol,iRow,
    dx,dy : Integer;
begin
  if Button=mbRight then
    with StringGrid1 do begin
      MouseToCell(X,Y,iCol,iRow);
      if iCol>=FixedCols then
        if iRow>=FixedRows then begin
          Col:=iCol;
          Row:=iRow;
          dx :=foTest9.Left+StringGrid1.Left-10; // -10 << adjusts Popup relative to cursor
          dy :=foTest9.Top +StringGrid1.Top +20; // +20 << adjusts Popup relative to cursor
          PopUpMenu1.Popup(X+dx,Y+dy);
          end;
      end;
end;
Achtung: Die Eigenschaft "AutoPopup" des PopUpMenüs muss FALSE sein! Durch die Addition/Subtraktion der beiden Zahlenwerte bei der Ermittlung von dx und dy kann die Position des Popup-Menüs noch optimiert werden. Durch die Verwendung von FixedCols/FixedRows wird das Öffnen des PopUp für alle nicht verschiebbaren (grau hinterlegten) Zellen verhindert.

Gruß Ralph
Ralph
  Mit Zitat antworten Zitat