FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ¿se puede con Fivewin?
Posts: 422
Joined: Mon Aug 17, 2009 12:18 PM
¿se puede con Fivewin?
Posted: Mon Sep 07, 2009 11:21 AM
Hola:

Me gustaría saber si se puede poner el botón en el GET en Fivewin.



Muchas gracias. Salu2
Saludos,



Eduardo
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: ¿se puede con Fivewin?
Posted: Mon Sep 07, 2009 11:43 AM
Si es posible.

hay que hacer una pequeña modificación en la clase tget para que los get con botón no muestren el borde.

agregas una data lnoborderbtn (por ejemplo) y modificas aquí:

Code (fw): Select all Collapse
//en las datas:
DATA   lNoBorderBtn 

//luego:
METHOD New( nRow, nCol, bSetGet, oWnd, nWidth, nHeight, cPict, bValid,;
               nClrFore, nClrBack, oFont, lDesign, oCursor, lPixel,;
               cMsg, lUpdate, bWhen, lCenter, lRight, bChanged,;
               lReadOnly, lPassword, lNoBorder, nHelpId,;
               lSpinner, bUp, bDown, bMin, bMax, bAction, cBmpName, lNoBorderBtn ) CONSTRUCTOR

//Luego:
METHOD ReDefine( nId, bSetGet, oWnd, nHelpId, cPict, bValid,;
                    nClrFore, nClrBack, oFont, oCursor, cMsg,;
                    lUpdate, bWhen, bChanged, lReadOnly,;
                    lSpinner, bUp, bDown, bMin, bMax, bAction, cBmpName, lNoBorderBtn ) CONSTRUCTOR

//luego:
METHOD New( nRow, nCol, bSetGet, oWnd, nWidth, nHeight, cPict, bValid,;
            nClrFore, nClrBack, oFont, lDesign, oCursor, lPixel, cMsg,;
            lUpdate, bWhen, lCenter, lRight, bChanged, lReadOnly,;
            lPassword, lNoBorder, nHelpId, lSpinner,;
            bUp, bDown, bMin, bMax, bAction, cBmpName, lNoBorderBtn ) CLASS TGet

//luego:
           nRow      := 0, nCol := 0, lNoBorder := .f.,;
           bSetGet   := bSETGET( cText ),;
           lNoBorderBtn := .f.       
//luego:
::bAction   = bAction
   ::cBmpName  = cBmpName
   ::lNoBorderBtn = lNoBorderBtn 
//luego
   METHOD ReDefine( nId, bSetGet, oWnd, nHelpId, cPict, bValid, nClrFore,;
                 nClrBack, oFont, oCursor, cMsg, lUpdate, bWhen, bChanged,;
                 lReadOnly, lSpinner, bUp, bDown, bMin, bMax, bAction, cBmpName, lNoBorderBtn ) CLASS TGet 
//luego:
nClrBack := GetSysColor( COLOR_WINDOW ),;
           lUpdate  := .f., lReadOnly := .f., lSpinner := .f.
           lNoBorderBtn:=.f. 
//luego:
   ::cBmpName  = cBmpName
   ::lNoBorderBtn = lNoBorderBtn 
//finalmente:
      IF ::lNoBorderBtn
         IF Empty( ::cBmpName )                     //no hay bmp
                     @ 0, ::nWidth - ::nHeight BUTTONBMP ::oBtn OF Self ;
                ACTION ( Eval( oThis:bAction, oThis ), oThis:SetFocus() ) ;
                SIZE ::nHeight - 4, ::nHeight - 4 PIXEL TRANSPARENT
                 ::oBtn:SetText( "..." )
           ELSE 
                /*  
         @ 0, ::nWidth - ::nHeight BUTTONBMP ::oBtn OF Self ;
            ACTION ( Eval( oThis:bAction, oThis ), oThis:SetFocus() ) ;
            SIZE ::nHeight - 4, ::nHeight - 4 PIXEL BITMAP ::cBmpName
                */
            IF At( ".", ::cBmpName)<>0  //si es .bmp 
                   @0, ::nwidth - ::nHeight BTNBMP ::oBtn OF Self;
                   ACTION ( Eval( oThis:bAction, oThis ), oThis:SetFocus() ) ;
                   FILE ::cBmpName ;
                   SIZE ::nHeight - 4, ::nHeight - 4 PIXEL NOBORDER TRANSPARENT
            ELSE   //si es un bmp
                 @0, ::nwidth - ::nHeight BTNBMP ::oBtn OF Self;
                   ACTION ( Eval( oThis:bAction, oThis ), oThis:SetFocus() ) ;
                   RESOURCE ::cBmpName;
                   SIZE ::nHeight - 4, ::nHeight - 4 PIXEL NOBORDER TRANSPARENT
            ENDIF
         ENDIF   
      ELSE
         if Empty( ::cBmpName )
            @ 0, ::nWidth - ::nHeight BUTTONBMP ::oBtn OF Self ;
               ACTION ( Eval( oThis:bAction, oThis ), oThis:SetFocus() ) ;
               SIZE ::nHeight - 4, ::nHeight - 4 PIXEL
            if Empty( ::oBtn:hBitmap )
               ::oBtn:SetText( "..." )
            endif      
         else   
            @ 0, ::nWidth - ::nHeight BUTTONBMP ::oBtn OF Self ;
               ACTION ( Eval( oThis:bAction, oThis ), oThis:SetFocus() ) ;
               SIZE ::nHeight - 4, ::nHeight - 4 PIXEL BITMAP ::cBmpName
         endif   
      ENDIF

//


Y con eso debería andar

Luego para que no tenga borden el botón:;
REDEFINE GET oGet VAR varx ID 102 OF oDlg
oGet:lNoBorderBtn:=.t.
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: ¿se puede con Fivewin?
Posted: Mon Sep 07, 2009 12:23 PM

Saludos mgsoft y jose

actualmente la clase TGet cuenta con otras caracteristicas tambien, entre las cuales esta el ajuste automatico de boton y hacerlo transparente
DATA lAdjustBtn
Por favor, revisa samples\testget2.prg.

para hacerlo transparente solo usas oGet:lBtnTransparent = .t.

Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: ¿se puede con Fivewin?
Posted: Mon Sep 07, 2009 12:27 PM

Razón adicional para actualizar mi versión de FWH.... Muchas gracias!!

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: ¿se puede con Fivewin?
Posted: Mon Sep 07, 2009 12:34 PM

Tambien tiene otra particularidad que es llenar el get completamente

revisa este post viewtopic.php?p=77451#p77451

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: ¿se puede con Fivewin?
Posted: Mon Sep 07, 2009 02:11 PM
Mgsoft,

En FWH puedes usar la claúsula ACTION con los GETs:

@ ..., ... GET ... ACTION ... BITMAP ...

ó

REDEFINE GET ... ACTION ... BITMAP ...

aqui tienes un ejemplo:
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 422
Joined: Mon Aug 17, 2009 12:18 PM
Re: ¿se puede con Fivewin?
Posted: Mon Sep 07, 2009 03:14 PM

Muchas gracias a todos :D

Saludos,



Eduardo
Posts: 729
Joined: Tue Oct 18, 2005 06:49 PM
Re: ¿se puede con Fivewin?
Posted: Mon Sep 07, 2009 03:32 PM

Y que es lo que no se puede hacer con Fivewin :D

Posts: 731
Joined: Fri Oct 07, 2005 07:42 AM
Re: ¿se puede con Fivewin?
Posted: Mon Sep 07, 2009 06:55 PM

Limite... ? La imaginación , jejejeje

Saludos

Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)

Continue the discussion