Page 1 of 1

Problema con bRClicked y con cTooltip con la clase SBUTTON

Posted: Mon Feb 25, 2008 3:54 pm
by Loren
Estimados compañeros:

Tengo 2 problemas:
1) Quiero que se muestre un menu pop-up al hacer click con el 2º boton del raton, pero el menú se me muestra en la parte superior izqda. de la pantalla.
Este el código:
Define Dialog....
redefine sbutton aforo[1] ....
aforo[1]:bRClicked:={ |nRow, nCol, nFlags | dblmenu( nRow, nCol ) }
Activate Dialog.....

funct dblmenu( nRow, nCol)
Local oMenu
C5MENU oMenu POPUP
c5menuitem 'prueba'
C5ENDMENU
ACTIVATE C5MENU oMenu AT nRow, nCol OF oDialog
Return

2) En la clase TSBUTTON del Maestro Manuel Mercado, intento establecer un Tooltip en el sbutton, pero no me genera nada.

Define Dialog....
redefine sbutton aforo[1] ....
aforo[1]:cTooltip:='Esto es una prueba'
Activate Dialog.....

Podría hacerlo mediante Redefine sbutton aforo[1] tooltip 'hola'.....
pero necesito hacerlo tal y como muestro en el ejemplo.

Mil gracias
LORENZO.

Re: Problema con bRClicked y con cTooltip con la clase SBUTT

Posted: Mon Feb 25, 2008 10:11 pm
by mmercado
Loren wrote: 1) Quiero que se muestre un menu pop-up al hacer click con el 2º boton del raton, pero el menú se me muestra en la parte superior izqda. de la pantalla.

aforo[1]:bRClicked:={ |nRow, nCol, nFlags | dblmenu( nRow, nCol ) }

funct dblmenu( nRow, nCol)
Local oMenu
C5MENU oMenu POPUP
c5menuitem 'prueba'
C5ENDMENU
ACTIVATE C5MENU oMenu AT nRow, nCol OF oDialog
Return
Cambia tu código:

Code: Select all

aforo[1]:bRClicked:={ |nRow, nCol, nFlags | dblmenu( nRow, nCol, aforo[1] ) } 

funct dblmenu( nRow, nCol, oBtn ) 
Local oMenu 
C5MENU oMenu POPUP 
c5menuitem 'prueba' 
C5ENDMENU 
ACTIVATE C5MENU oMenu AT nRow, nCol OF oBtn 
Return 
Loren wrote:2) En la clase TSBUTTON del Maestro Manuel Mercado, intento establecer un Tooltip en el sbutton, pero no me genera nada.
aforo[1]:cTooltip:='Esto es una prueba'
Cambia tu código:

Code: Select all

aforo[1]:cTooltip := aforo[1]:cTipTool := 'Esto es una prueba'
Saludos

Manuel Mercado

Posted: Tue Feb 26, 2008 6:41 pm
by Loren
Estimado Maestro:
Lo primero es darle Mil gracias por su respuesta

Respecto a la 2º duda (Tooltip), funcionó perfecto.
Respecto a la 1º duda, comentarle que:

Mi codigo es:

for x=1 to 620
aforo[x]:bRClicked:={ |nRow, nCol, nFlags, x | GenBlock1(nRow, nCol, aforo[x], x) }
next

funct GenBlock1( nRow, nCol, oBtn , x )
return { || dblmenu( nRow, nCol, oBtn ,x ) }

funct dblmenu( nRow, nCol, oBtn, x )
Local oMenu
C5MENU oMenu POPUP
c5menuitem 'prueba'
C5ENDMENU
ACTIVATE C5MENU oMenu AT nRow, nCol OF oBtn
Return

Pero me genera un error del tipo "Error BASE/1068 Argument error: array access", y creo que es porque X adquiere un valor fuera del array: en este caso X=621

¿ Como soluciono este problema ?
Mil gracias de nuevo.
LORENZO

Posted: Tue Feb 26, 2008 7:51 pm
by mmercado
Loren wrote:for x=1 to 620
aforo[x]:bRClicked:={ |nRow, nCol, nFlags, x | GenBlock1(nRow, nCol, aforo[x], x) }
next

funct GenBlock1( nRow, nCol, oBtn , x )
return { || dblmenu( nRow, nCol, oBtn ,x ) }

funct dblmenu( nRow, nCol, oBtn, x )
Local oMenu
C5MENU oMenu POPUP
c5menuitem 'prueba'
C5ENDMENU
ACTIVATE C5MENU oMenu AT nRow, nCol OF oBtn
Return
Si es lo que me imagino, así debería funcionar:

Code: Select all

For x := 1 To 620
   aforo[x]:bRClicked:={ |oBtn, nRow, nCol | dblmenu( oBtn, nRow, nCol ) }
   aforo[x]:Cargo := x
Next

Function dblmenu( oBtn, nRow, nCol )

   Local oMenu, ;
         nAsiento := oBtn:Cargo

   C5MENU oMenu POPUP
   C5menuitem 'prueba' ACTION LoQueQuierasCon( nAsiento )
   C5ENDMENU
   ACTIVATE C5MENU oMenu AT nRow, nCol OF oBtn
Return Nil
Espero te sirva

Manuel Mercado

Posted: Tue Feb 26, 2008 8:46 pm
by Loren
Sr.:

Imaginaba Ud. muy bien..... Su sabiduría me sorprende... Funcionó perfecto

Mil gracias de nuevo, maestro.
LORENZO