GARANTIR DESCONTO

Fórum PopUp Menu. Saber aonde o usuário clicou! #206223

13/01/2004

0

Bom dia pessoal,

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

Lucas Silva

Responder

Posts

13/01/2004

Motta

no click do menu

if Sender is TMenuItem then
showmessage(TMenuItem(Sender).Caption);


Responder

Gostei + 0

13/01/2004

Lucas Silva

no click do menu if Sender is TMenuItem then showmessage(TMenuItem(Sender).Caption);


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!


Responder

Gostei + 0

13/01/2004

Motta

com a Action o Sender passa a ser a Action.

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.


Responder

Gostei + 0

13/01/2004

Lucas Silva

Valeu mesmo Motta,
Agora funcionou perfeito....

Obrigado,
Lucas!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar