Ver Mensaje Individual
  #3  
Antiguo 21-09-2019
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
dec te ha puesto un ejemplo perfecto en delphi, si te parece y con su permiso, lo lo traduzco a C++ Builder

Código PHP:
 //---------------------------------------------------------------------------  

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
private:    // User declarations
  
TPopupMenu *MyPopupMenu;
  
void __fastcall MenuItemClick(TObject *Sender);
public:        
// User declarations
  
__fastcall TForm1(TComponentOwner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif 
Código PHP:
//---------------------------------------------------------------------------  
#include <vcl.h> 
#pragma hdrstop 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponentOwner)
  : 
TForm(Owner)
{
  
TMenuItem *MenuItem;
  
MyPopupMenu = new TPopupMenu(this);
  
// Creamos un item
  
MenuItem = new TMenuItem(MyPopupMenu);
  
MenuItem->Caption "Opción A";
  
MenuItem->OnClick MenuItemClick;
  
MyPopupMenu->Items->Add(MenuItem);

  
// Creamos otro item
  
MenuItem = new TMenuItem(MyPopupMenu);
  
MenuItem->Caption "Opción B";
  
MenuItem->OnClick MenuItemClick;
  
MyPopupMenu->Items->Add(MenuItem);

  
// Creamos el tercer item
  
MenuItem = new TMenuItem(MyPopupMenu);
  
MenuItem->Caption "Opción C";
  
MenuItem->OnClick MenuItemClick;
  
MyPopupMenu->Items->Add(MenuItem);

  
// Asignamos al formulario nuestro PopupMenu
  
PopupMenu MyPopupMenu;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::MenuItemClick(TObject *Sender)
{
  
TMenuItem *MenuItem dynamic_cast<TMenuItem*>(Sender);
  if(
MenuItem)
    
ShowMessageFmt("Has pulsado en el item con index: \"%d\""ARRAYOFCONST((PopupMenu->Items->IndexOf(MenuItem))));
}
//--------------------------------------------------------------------------- 





Saludos.
Responder Con Cita