TGet ( Fix )

TGet ( Fix )

Postby lailton.webmaster » Mon Mar 28, 2011 11:27 am

Code: Select all  Expand view
METHOD CreateButton() CLASS TGet

   local oThis := Self
   local hBitmap
   local nBmpWidth := 1
   local lFileBmp := .t.

   if ValType( ::bAction ) == "B" .and. Upper( ::ClassName() ) == "TGET"
      if Empty( ::cBmpName )
         @ 0, ::nWidth - ::nHeight - If( ::lSpinner, 20, 0 ) 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

         hBitmap   = If( ( lFileBmp := File( ::cBmpName ) ), ReadBitmap( 0, ::cBmpName ),;
                     LoadBitmap( GetResources(), ::cBmpName ) )

         if ::lAdjustBtn
            nBmpWidth := nBmpWidth( hBitmap ) + 5
            ::SetMargins( 1, nBmpWidth )
         else
            nBmpWidth := ::nHeight - 4
         endif

         if ::lBtnTransparent
            ::oBtn := TBtnBmp():New(0, ::nWidth - nBmpWidth - If( ::lSpinner, 20, 4 ), nBmpWidth, ::nHeight - 4,;
            if ( !lFileBmp, ::cBmpName, ),,if ( lFileBmp, ::cBmpName, ),,{|| Eval( oThis:bAction, oThis ),oThis:SetFocus() },;
            Self,,,,,,,,,.f.)
            ::oBtn:lTransparent := ::lBtnTransparent
         else
            ::oBtn := TButtonBmp():New( 0, ::nWidth - nBmpWidth - If( ::lSpinner, 20, 4 ),, Self, {|| Eval( oThis:bAction, oThis ),oThis:SetFocus() }, ;
            nBmpWidth, ::nHeight - 4,,,,.t.,,,,,,,::cBmpName )
         endif

         DeleteObject( hBitmap )

      endif
      ::oBtn:lCancel = .T. // so the GET VALID is not fired when the button is focused

      if Upper( ::oWnd:ClassName() ) == "TDIALOG" .and. ::oWnd:lResize16
         ::oBtn:nWidth  = ::nHeight - 5
         ::oBtn:nHeight = ::nHeight - 5
         ::oBtn:nLeft   = ( ::nWidth * 1.167 ) - ::nHeight
      endif


      /*
      // We force a WM_NCCALCSIZE msg to be sent to the GET
      SetWindowPos( ::hWnd, 0, 0, 0, 0, 0,;
                    nOr( SWP_NOMOVE, SWP_NOSIZE, SWP_NOZORDER, SWP_FRAMECHANGED ) )
      */

   endif

return nil


TGET using 'action' need use oThis:SetFocus() later bcodeblock, to receive callback focus.

=] :D
lailton.webmaster
 
Posts: 603
Joined: Sun May 04, 2008 8:44 pm

Re: TGet ( Fix )

Postby Antonio Linares » Tue Mar 29, 2011 9:48 am

Implemented for next build, Thanks! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42082
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: TGet ( Fix )

Postby mgsoft » Tue Mar 29, 2011 12:28 pm

Antonio,

Why don´t you create a patch or an updated fixed build?.

Otherwise, we must wait until next release, hopping that no new unfixed bugs persist.

Thank you.
Saludos,

Eduardo
User avatar
mgsoft
 
Posts: 422
Joined: Mon Aug 17, 2009 12:18 pm
Location: España

Re: TGet ( Fix )

Postby Antonio Linares » Tue Mar 29, 2011 12:32 pm

We will surely publish a revised 11.03 in one day or two
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42082
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: TGet ( Fix )

Postby mgsoft » Tue Mar 29, 2011 9:34 pm

Antonio,

Thanks for reply. But it will be more useful to have access to SVN or just publish the libs and the .prgs fixed.

;)
Saludos,

Eduardo
User avatar
mgsoft
 
Posts: 422
Joined: Mon Aug 17, 2009 12:18 pm
Location: España

Re: TGet ( Fix )

Postby Antonio Linares » Wed Mar 30, 2011 5:38 am

You can easily fix it yourself with the code posted by Lailton
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42082
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 90 guests