Dinámica de los menús emergentes


Cómo actualizar dinámicamente los elementos de popupmenu ?
tipo
& nbsp & nbsp TForm1 = class(TForm)
& nbsp & nbsp & nbsp & nbsp PopupMenu1: TPopupMenu
& nbsp & nbsp & nbsp & nbsp ...
& nbsp & nbsp & nbsp & nbsp procedimiento FormMouseDown(Sender: TObject Botón: TMouseButton
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Shift: TShiftState X, Y: Integer)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp procedimiento PopupClick(Sender: TObject)
...
procedure TForm1.FormMouseDown(Sender: TObject Botón: TMouseButton
& nbsp & nbsp Shift: TShiftState X, Y: Integer)
begin
& nbsp & nbsp si el Botón = mbRight, a continuación,
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp con PopupMenu1, Los elementos
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // Quitar todos los elementos
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp mientras Count > 0
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Eliminar(0)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // Añadir primer Elemento
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Agregar(NewItem('Elemento 1', 0, False, True, PopupClick, 0, 'Elemento1'))
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // Agregando segundo Elemento

& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Agregar(NewItem('Elemento 2', 0, False, True, PopupClick, 0, 'Item2'))
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // Agregar un separador
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Agregar(nueva Línea)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // se agrega un tercer elemento con dos submenús
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Agregar(NewSubMenu('Elemento 3', 0, 'Item3', [NewItem('el Punto 1', 0,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp False, True, PopupClick, 0, 'SubItem1'),
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp NewItem('el Punto 2', 0, False, True, PopupClick, 0,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp 'SubItem2')]))
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp con ClientToScreen(Punto(X, Y))
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Emergente(X, Y)
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp final
fin
procedure TForm1.PopupClick(Sender: TObject)
begin
& nbsp & nbsp // Utilizando aquí una manera estúpida de saber que el menú está activando el onclick
& nbsp & nbsp // evento. El uso de la etiqueta de la propiedad en su lugar.
& nbsp & nbsp caso (Remitente como TMenuItem).MenuIndex de
& nbsp & nbsp & nbsp & nbsp 0: ShowMessage('Elemento 1')
& nbsp & nbsp & nbsp & nbsp 1: ShowMessage('el Punto 2')
& nbsp & nbsp final
fin









Dinamica de los menus emergentes


Dinamica de los menus emergentes : Multi-millones de consejos para hacer su vida mas facil.


Como actualizar dinamicamente los elementos de popupmenu ?
tipo
& nbsp & nbsp TForm1 = class(TForm)
& nbsp & nbsp & nbsp & nbsp PopupMenu1: TPopupMenu
& nbsp & nbsp & nbsp & nbsp ...
& nbsp & nbsp & nbsp & nbsp procedimiento FormMouseDown(Sender: TObject Boton: TMouseButton
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Shift: TShiftState X, Y: Integer)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp procedimiento PopupClick(Sender: TObject)
...
procedure TForm1.FormMouseDown(Sender: TObject Boton: TMouseButton
& nbsp & nbsp Shift: TShiftState X, Y: Integer)
begin
& nbsp & nbsp si el Boton = mbRight, a continuacion,
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp con PopupMenu1, Los elementos
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // Quitar todos los elementos
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp mientras Count > 0
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Eliminar(0)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // Añadir primer Elemento
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Agregar(NewItem('Elemento 1', 0, False, True, PopupClick, 0, 'Elemento1'))
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // Agregando segundo Elemento

& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Agregar(NewItem('Elemento 2', 0, False, True, PopupClick, 0, 'Item2'))
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // Agregar un separador
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Agregar(nueva Linea)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp // se agrega un tercer elemento con dos submenus
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Agregar(NewSubMenu('Elemento 3', 0, 'Item3', [NewItem('el Punto 1', 0,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp False, True, PopupClick, 0, 'SubItem1'),
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp NewItem('el Punto 2', 0, False, True, PopupClick, 0,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp 'SubItem2')]))
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp con ClientToScreen(Punto(X, Y))
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Emergente(X, Y)
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp final
fin
procedure TForm1.PopupClick(Sender: TObject)
begin
& nbsp & nbsp // Utilizando aqui una manera estupida de saber que el menu esta activando el onclick
& nbsp & nbsp // evento. El uso de la etiqueta de la propiedad en su lugar.
& nbsp & nbsp caso (Remitente como TMenuItem).MenuIndex de
& nbsp & nbsp & nbsp & nbsp 0: ShowMessage('Elemento 1')
& nbsp & nbsp & nbsp & nbsp 1: ShowMessage('el Punto 2')
& nbsp & nbsp final
fin


Dinámica de los menús emergentes

Dinámica de los menús emergentes : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación