Fórum PopUp Menu. Saber aonde o usuário clicou! #206223
13/01/2004
0
Numa aplicação o popup menu é criado em tempo de execução, o menu é composto de menus e o Submenus.
quando o usuário clica em algum menu (ou submenu) preciso saber qual menu que foi (o caption do menu por ex);
Alguem tem alguma sujestão??
Qualquer ajuda é muito bem vinda...
Lucas!
Lucas Silva
Curtir tópico
+ 0Posts
13/01/2004
Motta
if Sender is TMenuItem then
showmessage(TMenuItem(Sender).Caption);
Gostei + 0
13/01/2004
Lucas Silva
no click do botão não consegui colocar pois o menu é dinâmico,
estão coloquei um action com este codigo, e chamei o Action p/ cada menu.
showmessage(TMenuItem(Sender).Caption);
se eu colocar o ´if Sender is TMenuItem then´ ele nem chega a entrar no no if..
o sender fica vazio.
Este [n] showmessage(TMenuItem(Sender).Caption);[/n]
me retorna uma string gigantesca com alguns caracteres especiais, e muitos espaços em
branco.......
Alguem tem alguma sujestão?
Lucas!
Gostei + 0
13/01/2004
Motta
tente assim
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Menus;
type
TForm1 = class(TForm)
PopupMenu1: TPopupMenu;
aaa1: TMenuItem;
bbb1: TMenuItem;
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure crica(Sender: TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var i : TMenuItem;
begin
i := TMenuItem.Create(Self);
i.Caption := Edit1.Text;
i.OnClick := crica;
PopupMenu1.Items.Add(i);
end;
procedure TForm1.crica(Sender: TObject);
begin
if Sender is TMenuItem then
showmessage(TMenuItem(Sender).Caption);
end;
end.
Gostei + 0
13/01/2004
Lucas Silva
Agora funcionou perfeito....
Obrigado,
Lucas!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)