Fórum Criação de evento dinamicamente #257287
05/11/2004
0
Tenho um submenu que é construído dinamicamente a partir de um banco de dados. O(s) item(ns) é(são) do tipo RadioItem, ou seja, o usuário só pode escolher um. Como este menu é construído dinamicamente, como faço para adicionar o evento onclick a este(s) submenu(s)? Quero efetuar uma gravação numa tabela qdo o usuário clicar em um item. Segue o código abaixo.
Muito obrigado.
[i:a6a0fe3109]procedure TfrmPrincipal.FormShow(Sender: TObject);
var
NovoItem: TMenuItem;
NovoEvento: TNotifyEvent;
begin
dmConsult.dbConsultorio.Open;
dmConsult.qryConsultorios.Open;
if not dmConsult.qryConsultorios.Eof then
begin
while not dmConsult.qryConsultorios.Eof do
begin
NovoItem := TMenuItem.Create(Self);
NovoItem.OnClick
NovoItem.Caption := dmConsult.qryConsultoriosNOME_CONSULT.AsString;
NovoItem.RadioItem := True;
NovoItem.Name := ´Consult´ + dmConsult.qryConsultoriosCOD_CONSULT.AsString;
NovoItem.GroupIndex := 55; //Um número aleatório e que seja igual para todos
NovoItem.OnClick := NovoEvento;
mnuConsultorios.Add(NovoItem);
dmConsult.qryConsultorios.Next;
end;
end;
dmConsult.qryConsultorios.Open;
dmConsult.dbConsultorio.Open;
end;[/i:a6a0fe3109]
Gleison_gomes
Curtir tópico
+ 0Posts
05/11/2004
Motta
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ActnList, Menus;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
kkkkk1: TMenuItem;
ActionList1: TActionList;
Action1: TAction;
Button1: TButton;
wwwwww1: TMenuItem;
procedure Button1Click(Sender: TObject);
procedure Action1Execute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
wwwwww1.Action := TBasicAction(Action1);
end;
procedure TForm1.Action1Execute(Sender: TObject);
begin
showmessage(´alo mundo´);
end;
end.
Gostei + 0
06/11/2004
Gleison_gomes
Mas como faço para passar parâmetros para o evento? Quero gravar o código do item clicado em uma tabela.
Conto com sua ajuda.
Obrigado.
Gostei + 0
08/11/2004
Motta
Sender:TObject) , todo método vinculado a ele deve ter esta mesma assinatura ....
... Quero gravar o código do item clicado em uma tabela.
....
não entendi o que vc quer fazer, seria um log de uso do sistema , tipo usuario x itens menu ?
Gostei + 0
09/11/2004
Gleison_gomes
É o seguinte: tenho um submenu que será montado dinamicamente. O sistema lerá numa tabela e incluirá as opções neste menu de acordo com os registros do BD. Qdo o usuário clicar numa opção desse irei gravar o código do item clicado em outra tabela. A questão é como passar este parâmetro para a função. Outra coisa: como colocar o menu com ´Checked´? Já estou construindo os itens como RadioItem, porém tenho q setar a opção checked no evento onclick...
Obrigado.
Gostei + 0
09/11/2004
Gleison_gomes
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)