Page 1 of 1

en FW existe un boton con un list?

PostPosted: Sat Sep 03, 2016 3:05 pm
by goosfancito
Hola.

Existe en fW un boton que en la parte derecha tenga una flecha que al tocar despliegue una lista de, por ejemplo, items?

gracias.

Re: en FW existe un boton con un list?

PostPosted: Sat Sep 03, 2016 7:33 pm
by cmsoft
Puedes usar el GET con ACTION. En la funcion que llame el action puedes tener un browse que muestre los items y los elija.
Code: Select all  Expand view
#include "FiveWin.ch"
#include "xbrowse.ch"

function main()
LOCAL oDlg, oGet, oBot, cDato := SPACE(30)
    DEFINE DIALOG oDlg TITLE "Boton con ACTION" FROM 05,15 TO 25,90
    oDlg:lHelpIcon := .f.
    @ 07, 05 SAY "Completar dato:" OF oDlg  PIXEL SIZE 60,20 RIGHT
    @ 05, 70 GET oGet VAR cDato    OF oDlg  PIXEL SIZE 60,20 CUEBANNER "Escriba el Dato";
      ACTION  (oGet:cText := Buscar()) BITMAP "C:\fwh16\bitmaps\16x16\darrow.bmp"
    @ 50, 70 BUTTON oBot PROMPT "&Ok" OF oDlg SIZE 30,10 ACTION oDlg:End()  PIXEL  
    ACTIVATE DIALOG oDlg CENTER
RETURN nil

STATIC FUNCTION Buscar()
LOCAL aItems := {"Opcion 1","Opcion 2","Opcion 3"}, oDlg, oBrw, oBot
DEFINE DIALOG oDlg TITLE "Buscar " FROM 09,15 TO 28,60
   oDlg:lHelpIcon := .f.
   @ 01,01 XBROWSE oBrw ARRAY aItems SIZE 100,140 OF oDlg PIXEL ;
       COLUMNS 1;
       HEADERS "Opciones"
   oBrw:CreateFromCode()
   @10,150 BUTTON oBot PROMPT "&Ok" OF oDlg SIZE 30,10 ACTION oDlg:End() PIXEL
   ACTIVATE DIALOG oDlg CENTER
RETURN aItems[oBrw:nRowSel]

Re: en FW existe un boton con un list?

PostPosted: Sat Sep 03, 2016 8:32 pm
by joseluisysturiz
goosfancito wrote:Hola.

Existe en fW un boton que en la parte derecha tenga una flecha que al tocar despliegue una lista de, por ejemplo, items?

gracias.


Porque no usar el combobox/dbcombo.? ...saludos... :shock:

Re: en FW existe un boton con un list?

PostPosted: Sat Sep 03, 2016 8:35 pm
by goosfancito
hola. Si podría, pero quiero ver si puedo utilizarlo de otra forma,
por eso me gustaría poder tener un boton que este como partido en dos.

Como este boton, que justamente es lo que quiero hacer, cuando presiono la flecha que aparezca una lista. un menu.
https://drive.google.com/file/d/0B7Y1b0 ... sp=sharing
gracias.

Re: en FW existe un boton con un list?

PostPosted: Sat Sep 03, 2016 8:47 pm
by joseluisysturiz
goosfancito wrote:hola. Si podría, pero quiero ver si puedo utilizarlo de otra forma,
por eso me gustaría poder tener un boton que este como partido en dos.

Como este boton, que justamente es lo que quiero hacer, cuando presiono la flecha que aparezca una lista. un menu.
https://drive.google.com/file/d/0B7Y1b0 ... sp=sharing
gracias.

Creo la mejor opcion es la q te da CMSOFT, sino colocas un boton normal pequeño 16x16 al lado del GET, pero creo es innecesario a menos que quieras tener independencia de las acciones de ambos recursos, saludos... :shock:

Re: en FW existe un boton con un list?

PostPosted: Sat Sep 03, 2016 9:54 pm
by goosfancito
no lo coloco porque quiero ver si puedo hacerlo con un button.

gracias.

Re: en FW existe un boton con un list?

PostPosted: Sun Sep 04, 2016 2:05 am
by joseluisysturiz
No se si en los samples de la TRibbon vi algo como lo que quieres, un boton con un despliegue, saludos... :shock:

Re: en FW existe un boton con un list?

PostPosted: Sun Sep 04, 2016 10:14 am
by Antonio Linares
Gustavo,

Puedes usar la función PopupBrowse() de FWH, pero sólo está disponible a partir de la versión 15.11

Code: Select all  Expand view
  @   4, 4 GET oGetClient VAR oRec:Client OF oDlg ;
      ACTION ( cClient := Clients->( PopupBrowse( oWndClients:oClient:oRs, oGetClient ) ),;
               If( cClient != nil, oRec:Client := cClient,) )


Image

Re: en FW existe un boton con un list?

PostPosted: Sun Sep 04, 2016 2:28 pm
by goosfancito
a ok.
voy a tratar en algun tiempo que tenga de modificar la clase tbutton para que pueda hacer lo que necesito.

gracias.

Re: en FW existe un boton con un list?

PostPosted: Wed Sep 07, 2016 10:18 am
by Loren
Buenas:

Lo que buscas es exactamente esto:

Code: Select all  Expand view
....
  redefine buttonbmp obtn[1] bitmap 'nuevo' prompt CRLF+CRLF+CRLF+'Nuevo' TEXTbottom id 101 of odlg1 action menubaY(obtn[1],sectorC) ;    obtn[1]:ctooltip:= 'Nueva factura'
.....


funct menubaY( obot1, sectorC )
   Local oMenu, aRect
   aRect := GetClientRect( obot1:hWnd )
   menu omenu1 popup 2007
     menuitem '&Nueva factura' action  (iif(sectorC='servicio',newfactu(.t.,sectorC,'Facturas'),newfactura(.t.,,,'factura','Facturas',.t.,sectorC)),gesfactu->(OrdSetFocus('factuf')),gesfactu->(DbSetOrder(oTabs:noption)),lisfa:refresh(),lisfa:SetFocus())
     menuitem '&Duplicar '+iif(versionOPC() .or. versionMUL(),'','(SOLO para versión ELITE)') action dupliF() when iif(versionOPC() .or. versionMUL(),.t.,.f.)
     separator
     menuitem 'Cancelar' action omenu1:end()
   endmenu
   ACTIVATE POPUP omenu1 AT aRect[ 3 ] + 1, aRect[ 2 ] OF oBot1
return


 

Re: en FW existe un boton con un list?

PostPosted: Wed Sep 07, 2016 5:51 pm
by Euclides
Amigos, modo simples:

Code: Select all  Expand view

   DEFINE DIALOG oDlg...
   ...
   ACTIVATE DIALOG oDlg ON INIT DlgSetup(oDlg)
   ...
Function DlgSetup(oDlg)
local oBar, oMnu, oBB

   DEFINE BUTTONBAR oBar  SIZE 35, 35  OF oDlg
   oBar:bRClicked:=oBar:bLClicked:={|| nil }
   ...
   MENU oMnu POPUP
        MENUITEM "Pesquisa 1"  ACTION DoPesq1()
        SEPARATOR  
        MENUITEM "Pesquisa 2"  ACTION DoPesq2()
   ENDMENU  
*
   DEFINE BUTTON oBB  OF oBar  RESOURCE "FIND"  MENU oMnu  NOBORDER ;
          TOOLTIP "Pesquisa"   ACTION oBB:oPopup:Activate( oBB:nBottom, oBB:nLeft, oBar, .f. )
   ...
 

Saludos, Euclides