Einzelnen Beitrag anzeigen

Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Einfach das Popup Menü schließen

  Alt 27. Apr 2013, 16:34
Der Befehl EndMenu; funktioniert zwar einwandfrei über einen Timer. Aber sobald das Popup Menü offen ist spricht die mittlere Maustaste nur noch auf globale Tastaturabfragen an.

Hier mal ein Beispiel:
Delphi-Quellcode:
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
  ExtCtrls, StdCtrls, Windows;
.
.
.

var
  Form1: TForm1;
  z1: Integer = 0;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  EndMenu;
  Inc(z1);
  Label1.Caption:= IntToStr(z1);
end;

procedure TForm1.MenuItem3Click(Sender: TObject);
begin
 ShowMessage('Test 3');
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbMiddle then ShowMessage('Reagiert nicht wenn Popup offen ist');
end;

procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
  Timer1.Enabled:= True; //Timer wird nach öffnen von Menü gestartet und beendet es nach entsprechender Zeit
end;
  Mit Zitat antworten Zitat