AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Feststellen ob Kontextmenü offen ist
Thema durchsuchen
Ansicht
Themen-Optionen

Feststellen ob Kontextmenü offen ist

Ein Thema von HeikoAdams · begonnen am 26. Jan 2006 · letzter Beitrag vom 26. Jan 2006
Antwort Antwort
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#1

Re: Feststellen ob Kontextmenü offen ist

  Alt 26. Jan 2006, 19:03
Hallo,
evt möchte HeikoAdams auch reagieren, wenn das Popup geschlossen wurde ohne das ein Menüpunkt ausgewählt wurde.
Das habe ich mal folgendermaßen gelöst.
Delphi-Quellcode:
  TForm1 = class(TForm)
    Label1: TLabel;
    PopupMenu1: TPopupMenu;
    Test1: TMenuItem;
    Memo1: TMemo;
    PopupMenu2: TPopupMenu;
    Memo2: TMenuItem;
    ApplicationEvents1: TApplicationEvents;
    procedure PopupMenu1Popup(Sender: TObject);
    procedure ApplicationEvents1Idle(Sender: TObject; var Done: Boolean);
    procedure Test1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    FActivePopup : TPopupmenu;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}


procedure TForm1.PopupMenu1Popup(Sender: TObject);
// alle Popup's auf dem Formular brauchen denselben OnPopup Handler !
begin
  FActivePopup:=TPopupmenu(Sender);
end;

procedure TForm1.ApplicationEvents1Idle(Sender: TObject; var Done: Boolean);
begin
  If Assigned(FActivePopup) then
    begin
    // wird aufgerufen wenn das Popup verlassen wird.
    // Auch wenn außerhalb des Popups mit der Maus geklickt wurde
    // Hat den Effekt eines OnClose Events
    Label1.Caption:=IntToStr(StrToInt(Label1.Caption)+1);
    FActivePopup:=Nil;
    end;
end;

procedure TForm1.Test1Click(Sender: TObject);
begin
  Case FActivePopup.PopupComponent.Tag of
    0 : Memo1.Lines.Add('Form Popup wurde benutzt');
    1 : Memo1.Lines.Add('Memo Popup wurde benutzt');
    end;
end;

end.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz