WndBox2007 en btnbmp

WndBox2007 en btnbmp

Postby carlos vargas » Thu Jan 22, 2015 6:57 pm

Antonio, en btnbmp cuando los estilos 2007 y 2010 están activo, y el botón tiene foco, este usa la función WndBox2007 para pintar un marco alrededor del botón cuando el cursor del ratón esta encima, el caso es que el marco (caja) se pinta de forma incorrecta, esto no se nota dado que el color del borde es casi similar al color del botón, quedado oculto el problema, yo por lo general uso un color de borde mas oscuro y ahí si que se nota el fallo
he tratado de corregir el problema, ajustando los parametros, pero no logro auq ande al 100%, ya que se da que bien funciona en un boton, pero en otro no, ademas de que el boton con menu adjunto se pinta de forma independiente.
Image
Image
Image
podrías darle una mirada a esto por favor?
aca un video:http://castillolawyers.no-ip.info/owncloud/public.php?service=files&t=5a4193e1d2559d7b07efa2d5eeb32e5f
Code: Select all  Expand view

   if ::lMOver .and. ::lBoxSelect
      if ! ::lRound .and. ! ::lEllipse
         if ::l2007 .or. ::l2010
            WndBox2007( ::hDC, nAdjustBorder, nAdjustBorder,;
                        ::nHeight - nAdjustBorder - 1, ::nWidth - nAdjustBorder - 1,;
                        nRGB( 136, 000, 021 ) ) //nRGB( 221, 207, 155 )
 


otra cosa es que ese color de borde podria ser una data de la clase, y de forma global, algo asi como

Code: Select all  Expand view

           CLASSDATA nClrBoxSelect INIT nRGB( 221, 207, 155 )
...
           WndBox2007( ::hDC, nAdjustBorder, nAdjustBorder,;
                        ::nHeight - nAdjustBorder - 1, ::nWidth - nAdjustBorder - 1,;
                        ::nClrBoxSelect  )
 

y usarla asi
Code: Select all  Expand view
  TBtnBmp():nClrBoxSelect := nRGB( 136, 000, 021 )

para que quede asi
Image
salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1720
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: WndBox2007 en btnbmp

Postby Antonio Linares » Fri Jan 23, 2015 8:19 am

Carlos,

Asi parece estar bien:

Code: Select all  Expand view
  if ::lMOver .and. ::lBoxSelect
      if ! ::lRound .and. ! ::lEllipse
         if ! ::oWnd:IsKindof( "TBAR" )   // Nuevo !!!
            if ::l2007 .or. ::l2010
               WndBox2007( ::hDC, nAdjustBorder, nAdjustBorder,;
                           ::nHeight - nAdjustBorder - 1, ::nWidth - nAdjustBorder - 1,;
                           ::nClrBorder )
            elseif ::lBorder
               if ! ::lPressed
                  WndRaised( ::hWnd, ::hDC )
               else
                  WndInset( ::hWnd, ::hDC )
               endif
            endif
         endif    // Nuevo !!!  
      else
 


He añadido la nueva DATA que sugieres como:

DATA nClrBorder INIT nRGB( 221, 207, 155 )

Muchas gracias! :-)
regards, saludos

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


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 44 guests