Registriert seit: 30. Aug 2008
208 Beiträge
FreePascal / Lazarus
|
AW: Einfach das Popup Menü schließen
27. Apr 2013, 17: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;
|
|
Zitat
|