PopupMenu, busca proriedades do componente clicado

Delphi

28/03/2011

Boa tarde ! Eu preciso de uma luz no fim do túnio, é o seguinte estou criando componente Timage em tempo de execução dentro do componente GridPanel , e coloquei um popupMenu ligado nos Timages, eu preciso que ao clicar com o botao direito do mouse em cima do componente e ao abrir o meu popmenu retorne o name do componente que esta clicado. obrigado !!!
Christian Tito

Christian Tito

Curtidas 0

Respostas

André Silveira

André Silveira

28/03/2011

Coloca como está criando os componentes para facilitar a solução do seu problema.
Fiz um exemplo usando um panel e botoes e funcionou:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Menus;

type
  TForm1 = class(TForm)
    pop: TPopupMenu;
    Button1: TButton;
    Panel1: TPanel;
    mniNome1: TMenuItem;
    mniBotao1: TMenuItem;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure peganome(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
  Botao : TButton;
begin
  for i := 0 to 10 do
  begin
    Botao := TButton.Create(Self);
    Botao.Name := 'Botao'+IntToStr(i);
    Botao.Parent := Panel1;
    Botao.Top := 10 + 30 * i;
    Botao.PopupMenu := pop;
    Botao.OnContextPopup := PegaNome;
  end;
end;

procedure TForm1.peganome(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
begin
  pop.Items[0].Caption := TButton(Sender).Caption;
end;

end.

Tenta adaptar de acordo com os seus componentes.
GOSTEI 0
Christian Tito

Christian Tito

28/03/2011

Bom dia !! Deu certinho o seu procedimento muito obrigado André.
GOSTEI 0
POSTAR