Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Componente del popupmenu (https://www.clubdelphi.com/foros/showthread.php?t=54986)

Vlady 04-04-2008 16:55:24

Componente del popupmenu
 
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:

Código Delphi [-]
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.

Código Delphi [-]
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


La franja horaria es GMT +2. Ahora son las 04:51:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi