In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Popup Menu Item Click

Foro público de Xailer en español
Cassiano de Oliveira
Mensajes: 475
Registrado: Mar Jul 24, 2012 10:21 pm

Popup Menu Item Click

Mensaje por Cassiano de Oliveira »

Senhores preciso saber qual item foi clicado no menu popup.
Eu tenho uma Tabela DBF chamada PRODUTO que possui 1 í­ndice CDX com 5 TAGs
sendo elas: PRODUTO1, PRODUTO2, PRODUTO3, PRODUTO4, PRODUTO5.
Com o código abaixo eu crio um POPUP menu com as 1 item chamado Natural
Order, 1 Separador e mais as 5 TAGs, porém ao clicar no item PRODUTO2 por
exemplo, quando executa o método TEST o N não passa a posição correta que eu
esperava saber qual item do Menu Popup foi clicado, ele vai com o valor 12,
não sei como resolver isto, alguém poderia ajudar?
METHOD FormInitialize( oSender ) CLASS frmBrowseTabela
LOCAL cAlias, oBrw := ::oDBBrowse1, n := 1
cAlias := Alias()
oBrw := ::oDBBrowse1
WITH OBJECT ::oPopupMenuIndex
:AddItem( "Ordem natural" ):OnClick := { || (
cAlias )->(DbSetOrder(0)), oBrw:Refresh(), oBrw:SetFocus(),
::DBBrowse1Change() }
IF ( nTags := ( cAlias )->( OrdCount() ) ) > 0
:AddSeparator()
ENDIF
FOR n = 1 to nTags
IF ! Empty( OrdName( n ) )
IF ! Empty( OrdName( 1 ) )
DbSetOrder( OrdName( 1 ) )
DbGoTop()
ENDIF
:AddItem( OrdName( n )):OnClick := { || ::TEST( oSender,
cAlias, oBrw, n) }
ENDIF
NEXT
END
RETURN Nil
METHOD TEST( oSender, cAlias, oBrw, n)
( cAlias )->( OrdSetFocus( OrdName( n ) ) ) //--> Aki eu queria q o N
viesse com a posição que foi clicada no Menu Popup
oBrw:Refresh()
oBrw:SetFocus()
::DBBrowse1Change()
RETURN NIL
Saludos
Cassiano.
Responder