Class TBUTTONBMP

Class TBUTTONBMP

Postby thefull » Wed Jan 16, 2008 9: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__)
User avatar
thefull
 
Posts: 731
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona

Postby Antonio Linares » 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
User avatar
Antonio Linares
Site Admin
 
Posts: 42107
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby thefull » 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().

Code: Select all  Expand view  RUN
..             
[ <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__)
User avatar
thefull
 
Posts: 731
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona

Postby Antonio Linares » Wed Jan 16, 2008 6:27 pm

Rafa,

Si revisas el código fuente del método Paint() verás que se tiene en cuenta:
Code: Select all  Expand view  RUN
   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
User avatar
Antonio Linares
Site Admin
 
Posts: 42107
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby thefull » Thu Jan 17, 2008 8: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__)
User avatar
thefull
 
Posts: 731
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona


Return to Bugs report & fixes / Informe de errores y arreglos

Who is online

Users browsing this forum: No registered users and 20 guests