Saber se PopupMenu está sendo exibido

Delphi

18/02/2005

Como faço para saber se o menupopup está sendo exibido?


Raserafim

Raserafim

Curtidas 0

Respostas

Guilherme

Guilherme

18/02/2005

Como faço para exibir o popup quando apertar enter ?


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

18/02/2005

raserafim, explique exatamente o caso.

gborges_13, faça, no OnKeyPress:
PopupMenu1.Popup(PosicaoX,PosicaoY);


GOSTEI 0
Raserafim

Raserafim

18/02/2005

preciso saber se o popupmenu, que está associado a um panel, já está sendo exibido ou n. pois em uma outra parte do programa, chamo um procedimento, que entre outras cosas, dispara o popupmenu (exibe o popupmenu), mas em alguns casos o popupmenu já está sendo exibido, o que provoca um erro. Então peciso saber se já está sendo exibido pra evitar o erro


GOSTEI 0
Motta

Motta

18/02/2005

O evento OnPopup ocorre quando o pop é disparado, a prop. PopupComponent diz quem o ´disparou´.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, ExtCtrls;

type
  TForm1 = class(TForm)
    PopupMenu1: TPopupMenu;
    Panel1: TPanel;
    Panel2: TPanel;
    procedure PopupMenu1Popup(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
  ShowMessage(PopupMenu1.PopupComponent.Name);
end;

end.




GOSTEI 0
Raserafim

Raserafim

18/02/2005

Motta, saber quem disparou o evento vai me ajudar pra outras coisas, mas ainda não eliminou o meu problema.

Realmente preciso saber se o Popupmenu está sendo exibido ou não.


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

18/02/2005

veja se isso funciona:

if not TForm(PopupMenu1).Showing then
begin
   MostraMenu;
   FazAlgumaCoisa;
end
else
   FazAlgumaCoisa;



GOSTEI 0
Otto

Otto

18/02/2005

veja se isso funciona:
if not TForm(PopupMenu1).Showing then
begin
   MostraMenu;
   FazAlgumaCoisa;
end
else
   FazAlgumaCoisa;



não, não funcionou não :cry:

alguem teria mais sugestões?


GOSTEI 0
Leitorbinario

Leitorbinario

18/02/2005

Tenta fazer um tratamento de erro talvez ajude.
try
except


GOSTEI 0
POSTAR