Einzelnen Beitrag anzeigen

Mossi

Registriert seit: 6. Feb 2004
Ort: Wenzenbach
35 Beiträge
 
Delphi 7 Enterprise
 
#1

manuel erstelltes Popup ignoriert OnClick

  Alt 1. Sep 2006, 23:12
Ich hab gerade ein kleines problem. Der folgende Code soll in einer abgeleiteten StringGrid-Komponente einem eventuell definiertem Menü einen zusätzlichen Menüpunkt hinzufügen. das funktioniert so weit auch. nur eben, dass das OnClick-Ereignis nicht ausgeführt wird und ich hab irgendwie keine Ahnung woran das liegen kann

Delphi-Quellcode:
procedure TEnhStringGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X,
  Y: Integer);
var
  p: TPoint;
  Col, Row: Integer;
  mnuFixieren, mnuLine: TMenuItem;
begin
  inherited;
  MouseToCell(X, Y, Col, Row);

  if (row = 0) and (Button = mbRight) then
  begin
    // create header popup menu
    mnuFixieren := TMenuItem.Create(self);
    mnuFixieren.Caption := 'Fixieren';
    mnuFixieren.OnClick := fixColumn;
    mnuFixieren.Tag := Col;
    mnuLine := TMenuItem.Create(self);
    mnuLine.Caption := '-';

    if GetPopupMenu <> nil then
    begin
      GetPopupMenu.Items.Insert(0, mnuFixieren);
      GetPopupMenu.Items.Insert(1, mnuLine);
    end else begin
      PopupMenu := TPopupMenu.Create(self);
      GetPopupMenu.Items.Add(mnuFixieren);
    end;

    if ((FixedCols - 1) < Col) then
      GetPopupMenu.Items[0].Checked := false
    else
      GetPopupMenu.Items[0].Checked := true;

    GetCursorPos(p);
    GetPopupMenu.Popup(p.X, p.Y);

  end;
end;
Was mache ich falsch, dass das zugewiesene Ereignis nicht anerkannt wird?
  Mit Zitat antworten Zitat