FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index Bugs report & fixes / Informe de errores y arreglos Class TBUTTONBMP
Posts: 731
Joined: Fri Oct 07, 2005 07:42 AM
Class TBUTTONBMP
Posted: Wed Jan 16, 2008 09:01 AM

Antonio, si coges el ejemplo TestBubm.prg, y indicas TEXTBOTTOM, NO FUNCIONA!

Tampoco el TEXTTOP.

Usando el SendMessage que te comento en el otro hilo, se realiza correctamente, intentando hacer lo mismo con esta clase, no es posible.

Saludos

Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Class TBUTTONBMP
Posted: Wed Jan 16, 2008 10:30 AM

Rafa,

Escribe esas cla煤sulas en may煤sculas. La clase no estaba comprobando si estaban escritas en may煤sculas.

Ya lo hemos arreglado para la pr贸xima versi贸n.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 731
Joined: Fri Oct 07, 2005 07:42 AM
Class TBUTTONBMP
Posted: Wed Jan 16, 2008 10:44 AM
Antonio Linares wrote:Rafa,

Escribe esas cla煤sulas en may煤sculas. La clase no estaba comprobando si estaban escritas en may煤sculas.

Ya lo hemos arreglado para la pr贸xima versi贸n.


Antonio, las he escrito en mayusculas, es m谩s, en el preprocesado ya realizas el UPPER().

..             
[ <cPostext: TEXTTOP, TEXTBOTTOM, TEXTLEFT, TEXTRIGHT> ] ;

=>....
         <cPrompt>, <.lCancel.>, <cBitmap>, [ Upper(<(cPostext)>) ], <cToolTip> )


Por lo tanto, algo ocurre porque no se posiciona ni arriba ni abajo, sale en medio.
Saludos

Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Class TBUTTONBMP
Posted: Wed Jan 16, 2008 06:27 PM
Rafa,

Si revisas el c贸digo fuente del m茅todo Paint() ver谩s que se tiene en cuenta:
   if ! Empty( ::hBitmap )
      if ::cPosText == "TEXTBOTTOM"
         nTop = 7
      elseif ::cPosText == "TEXTTOP"
         nTop = ::nHeight() - 6 - nBmpHeight( ::hBitmap )
      else
         nTop = ( ::nHeight() / 2 ) - ( nBmpHeight( ::hBitmap ) / 2 )
      endif
      if ::cPosText == "TEXTRIGHT"
         nLeft = 7
      elseif ::cPosText == "TEXTLEFT"
         nLeft = ::nWidth() - 6 - nBmpWidth( ::hBitmap )
      else
         nLeft := ( ::nWidth() / 2 ) - ( nBmpWidth( ::hBitmap ) / 2 )
      endif
      
      if ::lActive
         DrawMasked( ::hDC, ::hBitmap, nTop + If( lPressed, 1, 0 ),;
                     nLeft + If( lPressed, 1, 0 ) )
      else
         DrawGray( ::hDC, ::hBitmap, nTop + If( lPressed, 1, 0 ),;
                     nLeft + If( lPressed, 1, 0 ) )
      endif                     
   endif
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 731
Joined: Fri Oct 07, 2005 07:42 AM
Class TBUTTONBMP
Posted: Thu Jan 17, 2008 08:30 AM

Antonio, si, pero si el PREPROCESADOR ya lo pasa a may煤sculas.
Asi, si lo pruebas no funciona correctamente.

Saludos

Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)

Continue the discussion