Page 1 of 1

Botones cuando aprieto un botón

Posted: Mon Oct 05, 2020 1:57 pm
by TOTOVIOTTI
Hola gente... capaz es medio fantástico lo que quiero hacer, lo he visto en algún lado y no lo
puedo encontrar...
Yo quisiera, que al apretar un botón BTNBMP, se me despliegue otra ventanita, con 4 ó 5 botones más
para añadirle funcionalidades... o sea... pulso un botón, y que se abra sobre ese botón, un diálogo con
algunos botones más... será posible hacer esto?
Muchas gracias!

Roberto

Re: Botones cuando aprieto un botón

Posted: Mon Oct 05, 2020 6:24 pm
by FranciscoA
Roberto:
No es posible usar el POPUP MENU del boton?

Re: Botones cuando aprieto un botón

Posted: Mon Oct 05, 2020 7:01 pm
by TOTOVIOTTI
Hola Francisco... es probable.. pero no sé como se hace... nunca lo usé...
Me puedes facilitar un pequeño ejemplo?
Muchas gracias!
Roberto

Re: Botones cuando aprieto un botón

Posted: Mon Oct 05, 2020 8:10 pm
by FranciscoA
Roberto:

Code: Select all

//------------------------------------------------------//
FUNCTION PopBoton()
LOCAL oDlg, oImpri

  DEFINE DIALOG oDlg SIZE 300,200 PIXEL TITLE "Prueba"

  @60,10 BTNBMP oImpri PROMPT "Opciones" SIZE 60,14 PIXEL OF oDlg CENTER ;
         ACTION PopOpciones(oImpri:nTop(),oImpri:nLeft(), oDlg )

  @60,80 BUTTON "Salir" SIZE 60,14 PIXEL OF oDlg ;
         ACTION oDlg:End()

  ACTIVATE DIALOG oDlg CENTERED  

RETURN NIL

//----------------------------------------------------------------------
FUNCTION PopOpciones(nRow, nCol, oDlg)
local oMenu

  MENU oMenu POPUP
     MENUITEM "Informe 1"  ACTION MsgInfo("Informe 1")
     MENUITEM "Informe 2"  ACTION MsgInfo("Informe 2")
     MENUITEM "Informe 3"  ACTION MsgInfo("Informe 3")
     MENUITEM "Informe 4"  ACTION MsgInfo("Informe 4")
     MENUITEM "Informe 5"  ACTION MsgInfo("Informe 5")
  ENDMENU

  ACTIVATE POPUP oMenu DIALOG oDlg AT nRow, nCol

return nil
Saludos
 

Re: Botones cuando aprieto un botón

Posted: Mon Oct 05, 2020 8:19 pm
by TOTOVIOTTI
Me gusta la idea!!
Gracias!!!!!

Re: Botones cuando aprieto un botón

Posted: Mon Oct 05, 2020 8:22 pm
by karinha
És mejor, otro Menú de botones.

Saludos

Re: Botones cuando aprieto un botón

Posted: Mon Oct 05, 2020 8:37 pm
by TOTOVIOTTI
Como dices que sería Joao?
Roberto

Re: Botones cuando aprieto un botón

Posted: Mon Oct 05, 2020 10:37 pm
by karinha
TOTOVIOTTI wrote:Como dices que sería Joao?
Roberto
https://i.imgur.com/0hi0WT7.png

Saludos

Re: Botones cuando aprieto un botón

Posted: Tue Oct 06, 2020 11:40 am
by TOTOVIOTTI
Ok! Muchas gracias!
Roberto

Re: Botones cuando aprieto un botón

Posted: Wed Oct 07, 2020 9:54 am
by JESUS MARIN
Buenos dias Roberto.

Prueba esta opción, a ver si te gusta.
Al pulsar click, sobre el botón, se desplega un sub menu de botones, se abre una ventana POPUP, donde puedes poner lo que quieras.
Te he desarrollado algunas posibilidades, aunque creo que el límite será tu necesidad o imaginación.
1) Botones verticales
2) Botones horizontales
3) Mix de tipos de botones
4) Un dialogo.
Al perder el foco, la ventana POPUP, se cierra y finaliza.

FOTOS /////////////////////////

1) BOTONES VERTICALES
Image

2) BOTONES HORIZONTALES
Image

3) BOTONES MIXTOS (DE DISTINTOS TIPOS)
Image

4) DIALOGO (Puedes poner lo que quieras)
Image
CODIGO. te copio el código del ejemplo. Ajusta los ficheros de imagen, etc....
LA VENTANA ES MDICHILD, cambialo para tu ejemplo si es necesario

Code: Select all

# INCLUDE "FIVEWIN.CH"

FUNCTION BTNxBTN()

LOCAL oWnd
LOCAL oFont
LOCAL aBotones:=ARRAY(5)
LOCAL oIIButtons                    // BARRA DE BOTONES



DEFINE FONT oFont   NAME "Segoe UI Symbol" SIZE 0,-18           
DEFINE WINDOW oWnd FROM 100,100 TO 600,1200 MDICHILD  TITLE "Botones sobre botones - PRUEBAS" COLOR CLR_BLACK, GetSysColor(15)
DEFINE BUTTONBAR  oIIButtons  OF oWnd SIZE 40,40 _3D

    @06,010 BTNBMP aBotones[1] FILE "EXIT_W10.BMP"  SIZE 30,30 ACTION oWnd:End() OF oIIButtons UPDATE NOBORDER
    @06,060 BTNBMP aBotones[2] FILE "BTNXBTN1.BMP" SIZE 30,30 ACTION SUB_BOTONES(oIIButtons,aBotones[2])  OF oIIButtons UPDATE NOBORDER
    @06,110 BTNBMP aBotones[3] FILE "BTNXBTN2.BMP" SIZE 30,30 ACTION SUB_BOTONES2(oIIButtons,aBotones[3]) OF oIIButtons UPDATE NOBORDER
    @06,160 BTNBMP aBotones[4] FILE "BTNXBTN3.BMP" SIZE 30,30 ACTION SUB_BOTONES3(oIIButtons,aBotones[4]) OF oIIButtons UPDATE NOBORDER
    @06,210 BTNBMP aBotones[5] FILE "BTNXBTN4.BMP" SIZE 30,30 ACTION SUB_BOTONES4(oIIButtons,aBotones[5]) OF oIIButtons UPDATE NOBORDER
   
ACTIVATE WINDOW oWnd MAXIMIZED

RETURN(NIL)

/////////////////////////////////////////////////////////////////////////////////////////////

STATIC FUNCTION SUB_BOTONES(oBarra,oBoton)


LOCAL oWnd
LOCAL nFila:=oBoton:nTop+80
LOCAL nColumna:=oBoton:nLeft
LOCAL oBt1, oBt2, oBt3


DEFINE WINDOW oWnd OF oBarra STYLE WS_POPUP FROM nFila, nColumna TO nFila+122, nColumna+42 PIXEL COLOR CLR_BLACK, RGB(159,177,181)

@01,1 BTNBMP oBt1 FILE "PRINT_W10.BMP" SIZE 40,40 ACTION MSGALERT("NO DESARROLLADO 1") OF oWnd UPDATE NOBORDER
@41,1 BTNBMP oBt2 FILE "FIND_W10.BMP" SIZE 40,40 ACTION MSGALERT("NO DESARROLLADO 2 ") OF oWnd UPDATE NOBORDER
@81,1 BTNBMP oBt3 FILE "OK_W10.BMP" SIZE 40,40 ACTION MSGALERT("NO DESARROLLADO 3 ") OF oWnd UPDATE NOBORDER

ACTIVATE WINDOW oWnd

oWnd:bLostFocus := { || oWnd:End()  }

return(nil)

//////////////////////////////////////////////////////////////////////////////////

STATIC FUNCTION SUB_BOTONES2(oBarra,oBoton)


LOCAL oWnd
LOCAL nFila:=oBoton:nTop+80
LOCAL nColumna:=oBoton:nLeft
LOCAL oBt1, oBt2, oBt3


DEFINE WINDOW oWnd OF oBarra STYLE WS_POPUP FROM nFila, nColumna TO nFila+42, nColumna+122 PIXEL COLOR CLR_BLACK, RGB(159,177,181)

@01,1 BTNBMP oBt1 FILE "PRINT_W10.BMP" SIZE 40,40 ACTION MSGALERT("NO DESARROLLADO 1") OF oWnd UPDATE NOBORDER
@01,41 BTNBMP oBt2 FILE "FIND_W10.BMP" SIZE 40,40 ACTION MSGALERT("NO DESARROLLADO 2 ") OF oWnd UPDATE NOBORDER
@01,81 BTNBMP oBt3 FILE "OK_W10.BMP" SIZE 40,40 ACTION MSGALERT("NO DESARROLLADO 3 ") OF oWnd UPDATE NOBORDER


ACTIVATE WINDOW oWnd

oWnd:bLostFocus := { || oWnd:End()  }

return(nil)

////////////////////////////////////////////////////////////////////////////////

STATIC FUNCTION SUB_BOTONES3(oBarra,oBoton)


LOCAL oWnd
LOCAL nFila:=oBoton:nTop+80
LOCAL nColumna:=oBoton:nLeft
LOCAL oBt1, oBt2, oBt3, oBt4, oBt5, oBt6


DEFINE WINDOW oWnd OF oBarra STYLE WS_POPUP FROM nFila, nColumna TO nFila+200, nColumna+150 PIXEL COLOR CLR_BLACK, RGB(159,177,181)

@01,31 BTNBMP oBt1 FILE "PRINT_W10.BMP" SIZE 40,40 ACTION MSGALERT("NO DESARROLLADO 1") OF oWnd UPDATE NOBORDER
@01,71 BTNBMP oBt2 FILE "FIND_W10.BMP" SIZE 40,40 ACTION MSGALERT("NO DESARROLLADO 2 ") OF oWnd UPDATE NOBORDER
@01,111 BTNBMP oBt3 FILE "OK_W10.BMP" SIZE 40,40 ACTION MSGALERT("NO DESARROLLADO 3 ") OF oWnd UPDATE NOBORDER

@50,5 BTNBMP oBt4 FILE "CANCEL_W10.BMP" SIZE 140,40 ACTION MSGALERT("NO DESARROLLADO 4 ") OF oWnd UPDATE NOBORDER PROMPT "               Cancelar" LEFT
@95,5 BTNBMP oBt5 FILE "ok_W10.BMP"     SIZE 140,40 ACTION MSGALERT("NO DESARROLLADO 5 ") OF oWnd UPDATE NOBORDER PROMPT "                 Validar" LEFT

@160,5 BUTTON oBt6 PROMPT "Mas información" SIZE 140,30 ACTION MSGALERT("MAS INFORMACION NO DISPONIBLE") OF oWnd PIXEL

ACTIVATE WINDOW oWnd

oWnd:bLostFocus := { || oWnd:End()  }

return(nil)


/////////////////////////////////////////////////////////////////////////////////

STATIC FUNCTION SUB_BOTONES4(oBarra,oBoton)


LOCAL oWnd
LOCAL nFila:=oBoton:nTop+80
LOCAL nColumna:=oBoton:nLeft
LOCAL oBt1
LOCAL oFont
LOCAL oGet1, cVar1:=SPACE(30)
LOCAL oCheck, lCheck:=.t.




DEFINE FONT oFont   NAME "Segoe UI Symbol" SIZE 0,-20
DEFINE WINDOW oWnd OF oBarra STYLE WS_POPUP FROM nFila, nColumna TO nFila+300, nColumna+300 PIXEL COLOR CLR_BLACK, RGB(159,177,181)


@10,10 SAY "Busqueda avanzada" OF oWnd PIXEL SIZE 280,30 COLOR CLR_BLACK, CLR_GRAY FONT oFont CENTER

@90,20 SAY "Cliente" OF oWnd PIXEL SIZE 50,22
@85,65 GET oGet1 VAR cVar1 OF oWnd PIXEL SIZE 200,22

@125,65 CHECKBOX oCheck VAR lCheck PROMPT "Busqueda alternativa" OF oWnd PIXEL SIZE 200,22



@260,200 BUTTON oBt1 PROMPT "Aceptar" SIZE 90,30 ACTION MSGALERT("REALIZAMOS BUSQUEDA DE : "+ALLTRIM(cVar1)+" Y/O CERRAMOS EL DIALOGO DE BUSQUEDA") OF oWnd PIXEL

ACTIVATE WINDOW oWnd

oWnd:bLostFocus := { || oWnd:End()  }

return(nil)




 

Re: Botones cuando aprieto un botón

Posted: Wed Oct 07, 2020 11:37 am
by TOTOVIOTTI
Muyyyyyyyyyyyy bueno!!!!
Muchas muchas gracias!!!

Roberto

Re: Botones cuando aprieto un botón

Posted: Fri Oct 09, 2020 7:28 am
by JESUS MARIN
Alguna idea mas.

(con un diseño mas fresco y actual)

Añadiendo menus popup, anidados. Te servirá si tienes muchas opciones.

Image


Esta segunda foto hecha con el teléfono (porque al pulsar ALT+PRINT SCREEN, se me cierra el menu POPUP)

Image

Re: Botones cuando aprieto un botón

Posted: Sat Oct 10, 2020 1:29 pm
by horacio
Muy bueno Jesus, Felicitaciones.