PDA

Ver la Versión Completa : Componente del popupmenu


Vlady
04-04-2008, 16:55:24
Hola amigos del club delphi mi problema es el siguiente, estoy creando unos botones en tiempo de ejecución y a cada uno le asigno o no un poupmenu dependiendo del estado en la base de datos, cada boton tiene el nombre de un campo de mi base de datos el cual utilizo para las consultas y quisiera saber cual es el nombre del componente al cual se le dio click derecho. He utilizado el Sender q aparece en el evento del PoupMenu pero este no me sirve ya q no tengo el nombre del boton al cual se le dio click derecho, no se si la duda esta bien planteada


Gracias

dec
04-04-2008, 17:32:31
Hola,

Si no entendí mal, estás usando el evento "OnPopupMenu". Si no recuerdo mal, el "Sender" en este caso es quien "levanta el menú", es decir, en tu caso alguno de los botones con un "PopupMenu" asociado. Si esto es así y no me equivoco, entonces podrías averiguar el nombre del botón utilizando el "Sender", mediante algo como esto:


var
btnName: string;
begin
btnName := EmptyStr;
if (Sender is TButton) then begin
btnName := TButton(Sender).Name;
end;
end;

keyboy
04-04-2008, 17:46:06
Creo que Sender siempre será el mismo PopupMenu. Intenta con PopupMenu1.PopupComponent

Bye

dec
04-04-2008, 18:35:37
Hola,

Llevas razón Keyboy.


var
btnName: string;
begin
btnName := EmpyStr;
if (Sender is TPopupMenu) then
begin
if (TPopupMenu(Sender).PopupComponent is TButton) then
begin
btnName := TPopupMenu(Sender).PopupComponent.Name;
end;
end;
end;

Vlady
08-04-2008, 17:17:12
Gracias por su ayuda dec y keyboy, el codigo q me dio dec esta bien pero no se debe utilizar el parametro sender, sin este funciona correctamente mi aplicacion.

Gracias