Botones cuando aprieto un botón

Post Reply
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Botones cuando aprieto un botón

Post 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
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Botones cuando aprieto un botón

Post by FranciscoA »

Roberto:
No es posible usar el POPUP MENU del boton?
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Botones cuando aprieto un botón

Post 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
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Botones cuando aprieto un botón

Post 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
 
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Botones cuando aprieto un botón

Post by TOTOVIOTTI »

Me gusta la idea!!
Gracias!!!!!
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Botones cuando aprieto un botón

Post by karinha »

És mejor, otro Menú de botones.

Saludos
João Santos - São Paulo - Brasil
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Botones cuando aprieto un botón

Post by TOTOVIOTTI »

Como dices que sería Joao?
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Botones cuando aprieto un botón

Post by karinha »

TOTOVIOTTI wrote:Como dices que sería Joao?
Roberto
https://i.imgur.com/0hi0WT7.png

Saludos
João Santos - São Paulo - Brasil
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Botones cuando aprieto un botón

Post by TOTOVIOTTI »

Ok! Muchas gracias!
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
JESUS MARIN
Posts: 91
Joined: Wed Jan 02, 2019 8:36 am

Re: Botones cuando aprieto un botón

Post 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)




 
User avatar
TOTOVIOTTI
Posts: 334
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Botones cuando aprieto un botón

Post by TOTOVIOTTI »

Muyyyyyyyyyyyy bueno!!!!
Muchas muchas gracias!!!

Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
JESUS MARIN
Posts: 91
Joined: Wed Jan 02, 2019 8:36 am

Re: Botones cuando aprieto un botón

Post 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
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Botones cuando aprieto un botón

Post by horacio »

Muy bueno Jesus, Felicitaciones.
Post Reply