Page 1 of 1

Antonio Linares sobre tget

Posted: Mon Mar 24, 2008 6:22 pm
by Wanderson
Olá Antônio,

Em Fwh0802 los gets con opcion when .f. me mostran em gray color, como mostrar nas colores como nos demais gets en la version 0710 del fwh?

fwh0710

http://img329.imageshack.us/my.php?image=fwh0710yw5.jpg

fwh0802

http://img137.imageshack.us/my.php?image=fwh0802lw0.jpg

Onde devo alterar la classe tget?

Gracias.

[/img]

Posted: Mon Mar 24, 2008 6:30 pm
by karinha
Wanderson,

Code: Select all


//-> Inicio da classe
#define ES_CENTER            1
#define ES_RIGHT             2
#define ES_LEFT              0
#Define TA_LEFT              0
#Define TA_RIGHT             2
#Define TA_CENTER            6

//----------------------------------------------------------------------------//

METHOD Paint() CLASS TGet

   local aInfo := ::DispBegin()
   Local hOldFont

   //-> Mudan‡as Feitas em 22/12/2005 Por Antonio Linares
   //-> Para que o When(.F.) do GET, fique colorido normal. Muito bom. Joao.

   if ::oBrush != nil
      FillRect( ::hDC, GetClientRect( ::hWnd ), ::oBrush:hBrush )
   else
      CallWindowProc( ::nOldProc, ::hWnd, WM_ERASEBKGND, ::hDC, 0 )
   endif

   if IsWindowEnabled( ::hWnd )

      CallWindowProc( ::nOldProc, ::hWnd, WM_PAINT, ::hDC, 0 )

      //-> Para BTNGET.PRG Quando o RIGHT Esta ligado no WorkShop.exe
      //-> Modificado em 20/02/2008 - Por Joao Santos

      SetTextColor( ::hDC, ::nClrText ) 
      SetBkColor( ::hDC, ::nClrPane ) 
      hOldFont = SelectObject( ::hDC, ::oFont:hFont )

      do case 

         case lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), ES_RIGHT )

              SetTextAlign( ::hDC, TA_RIGHT )

              ExtTextOut( ::hDC, 0, ::nWidth()  - 44,                        ;
              { 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )

      endcase

   else

      SetTextColor( ::hDC, ::nClrText ) 
      SetBkColor( ::hDC, ::nClrPane ) 
      hOldFont = SelectObject( ::hDC, ::oFont:hFont )
      
      do case 
         case lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), ES_CENTER ) 
              SetTextAlign( ::hDC, TA_CENTER ) 
              ExtTextOut( ::hDC, 0, ::nWidth() / 2,                           ;
              { 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )
              
         case lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), ES_RIGHT ) 
              SetTextAlign( ::hDC, TA_RIGHT ) 
              ExtTextOut( ::hDC, 0, ::nWidth() - 4,                           ;
              { 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )

         otherwise

              SetTextAlign( ::hDC, TA_LEFT )

              //-> Posicao do Get
              ExtTextOut( ::hDC, 0, 4,                                        ;
              { 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )
      endcase 

      SelectObject( ::hDC, hOldFont )

   endif

   if ValType( ::bPainted ) == "B"
      Eval( ::bPainted, ::hDC, ::cPS, Self )
   endif

   ::DispEnd( aInfo )

return 1
Veja se o seu METHOD Paint() Esta Assim.

Abracos.

Posted: Tue Mar 25, 2008 1:46 am
by Wanderson
karinha wrote:Wanderson,

Code: Select all


//-> Inicio da classe
#define ES_CENTER            1
#define ES_RIGHT             2
#define ES_LEFT              0
#Define TA_LEFT              0
#Define TA_RIGHT             2
#Define TA_CENTER            6

//----------------------------------------------------------------------------//

METHOD Paint() CLASS TGet

   local aInfo := ::DispBegin()
   Local hOldFont

   //-> Mudan‡as Feitas em 22/12/2005 Por Antonio Linares
   //-> Para que o When(.F.) do GET, fique colorido normal. Muito bom. Joao.

   if ::oBrush != nil
      FillRect( ::hDC, GetClientRect( ::hWnd ), ::oBrush:hBrush )
   else
      CallWindowProc( ::nOldProc, ::hWnd, WM_ERASEBKGND, ::hDC, 0 )
   endif

   if IsWindowEnabled( ::hWnd )

      CallWindowProc( ::nOldProc, ::hWnd, WM_PAINT, ::hDC, 0 )

      //-> Para BTNGET.PRG Quando o RIGHT Esta ligado no WorkShop.exe
      //-> Modificado em 20/02/2008 - Por Joao Santos

      SetTextColor( ::hDC, ::nClrText ) 
      SetBkColor( ::hDC, ::nClrPane ) 
      hOldFont = SelectObject( ::hDC, ::oFont:hFont )

      do case 

         case lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), ES_RIGHT )

              SetTextAlign( ::hDC, TA_RIGHT )

              ExtTextOut( ::hDC, 0, ::nWidth()  - 44,                        ;
              { 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )

      endcase

   else

      SetTextColor( ::hDC, ::nClrText ) 
      SetBkColor( ::hDC, ::nClrPane ) 
      hOldFont = SelectObject( ::hDC, ::oFont:hFont )
      
      do case 
         case lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), ES_CENTER ) 
              SetTextAlign( ::hDC, TA_CENTER ) 
              ExtTextOut( ::hDC, 0, ::nWidth() / 2,                           ;
              { 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )
              
         case lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), ES_RIGHT ) 
              SetTextAlign( ::hDC, TA_RIGHT ) 
              ExtTextOut( ::hDC, 0, ::nWidth() - 4,                           ;
              { 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )

         otherwise

              SetTextAlign( ::hDC, TA_LEFT )

              //-> Posicao do Get
              ExtTextOut( ::hDC, 0, 4,                                        ;
              { 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )
      endcase 

      SelectObject( ::hDC, hOldFont )

   endif

   if ValType( ::bPainted ) == "B"
      Eval( ::bPainted, ::hDC, ::cPS, Self )
   endif

   ::DispEnd( aInfo )

return 1
Veja se o seu METHOD Paint() Esta Assim.

Abracos.

Obrigado Karinha, foi só comentar o bloco onde a classe tget testava a propriedade ldiscolors. Valeu demais a ajuda.

Posted: Tue Mar 25, 2008 9:23 am
by Antonio Linares
Wanderson,

Modificando lDisColors ha sido suficiente, si ?

Posted: Tue Mar 25, 2008 1:25 pm
by karinha
Antonio Linares wrote:Wanderson,

Modificando lDisColors ha sido suficiente, si ?
Maestro, lDisColors() és un comando nuevo de la nueva version de FIVEWIN the best??

Best regards, saludos.

Posted: Tue Mar 25, 2008 1:32 pm
by Wanderson
Antonio Linares wrote:Wanderson,

Modificando lDisColors ha sido suficiente, si ?
si a mi funciono muy bien. gracias.

Posted: Tue Mar 25, 2008 4:22 pm
by Antonio Linares
João,

Si, es una nueva DATA de la Clase TGet

Posted: Tue Mar 25, 2008 4:29 pm
by karinha
Antonio Linares wrote:João,

Si, es una nueva DATA de la Clase TGet
Gracias, querido Maestro.

Regards.