Luz en la caja del get

Re: Luz en la caja del get

Postby Antonio Linares » Sat Nov 15, 2014 3:10 pm

Paco,

Para añadir una funcionalidad asi a FWH más usuarios deberían estar de acuerdo. No es una funcionalidad estandard de Windows y me gusta no añadirle cosas extra a FWH que lo hacen crecer y que algunas veces no son útiles para todos. Confio en que me entiendas :-)
regards, saludos

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

Re: Luz en la caja del get

Postby hmpaquito » Sat Nov 15, 2014 3:43 pm

Claro que si Antonio, te entiendo perfectamente.
Pero me parece que siempre hay una eterna disyuntiva: Esperar a que alguien lo pida u ofrecer mejoras sin que alguien las pida.
Sin la segunda opcion seria dificil que las cosas (=software) crecieran/ mejoraran.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Luz en la caja del get

Postby devtuxtla » Sat Nov 15, 2014 7:32 pm

Hola Antonio.

En lo personal, apoyo la idea de incluirlo en FW, ya que estamos utilizando en nuestras aplicaciones, algunas ideas parecidas cuando hacemos los GET's, para indicarle al usuario cual es el get activo, esta idea es mejor que la que hemos aplicado.

Saludos
Visite Chiapas, el paraiso de México.
devtuxtla
 
Posts: 392
Joined: Tue Jul 29, 2008 1:55 pm

Re: Luz en la caja del get

Postby sysctrl2 » Sat Nov 15, 2014 8:59 pm

que bonito control,
yo que no uso resources,
me viene de maravilla.
saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1032
Joined: Mon Feb 05, 2007 7:15 pm

Re: Luz en la caja del get

Postby carlos vargas » Sun Nov 16, 2014 1:53 am

ok,es mi opinión que para que fuera incluido en fwh deberían controles como combobox, buttons, radiobuttons tener esa misma funcionalidad ya que no se vería bien que solo un tipo de control tenga ese efecto.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Luz en la caja del get

Postby mastintin » Sun Nov 16, 2014 9:53 am

Mi opinión es que esto solo es un "ejercicio de funcionamiento" . Está muy verde , no funciona bien con recursos , no funciona bien con fondos ni texturas en los diálogos, el cruce de los degradados en las esquinas es bastante evidente. Para incluirlo tendría que funcionar en los demás controles también .
Estas cosas cambian rápido , este estilo de resaltado comienzo con macosx hace tiempo pero a día de hoy Apple lo ha quitado por otro sin degradados ( como Microsoft en win8 que quita todo degradado existente ) .
Lo que mostraron es de una página web realizada en jQuery ( probablemente) y se hace con estilos css , lo que quiere decir que las funciones que lo realizan están dentro del motor de renderizado de los navegadores y cada uno realizará "su" degradado .
Para hacerlo mas correctamente ,tendríamos que usar el código inicial de Antonio ( el que coloca rectangulos que cambian de color ) pero en vez usar la funcion nRgb para los colores tendría que ser una función nRGBA ( que no se si existe ) , ademas los degradados hacen unas "aguas" ( no son constantes ) , supongo que se podría conseguir un código por internet que lo realice.
Dos cosas :
1.- Si interesa resaltar el get con foco ,tenemos ya el cambio de fondo, pero se podría implementar un cambio de color de marco que lo haga mas evidente incluso con cambio de grosor de éste y sería mas fácil de implementar en todos los controles y al ser en la superficie del control no machacaría los fondos .
2.- Necesitamos una función nRGBA que nos permita realizar degradados a transparente mas fácilmente . Antoniooooo.... :D
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Luz en la caja del get

Postby Antonio Linares » Mon Nov 17, 2014 6:38 am

Manuel,

Tenemos que decidir si usar rectángulos (con esquinas redondeadas) ó degradados.

Y una vez decidamos eso, ver la opción de que sean transparentes y se mezclen con el fondo.

Si hacemos una función lo suficientemente genérica podriamos llamarla para cualquier control y entonces incluirla estandard (aunque opcional) en FWH.
regards, saludos

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

Re: Luz en la caja del get

Postby Carlos Mora » Wed Nov 19, 2014 11:21 am

Hola gente,
tener algo que ayude a resaltar el control activo de esa forma tan estética se ve fantástico.
Respecto de la implementación se me ocurren algunas ideas:
- Para no afectar el código existente, ¿Por que no crear una nueva clase? con un par de toques en los comandos y redefines se usa una u otra, sin perjuicio de lo que ya hay escrito.
- Los problemas de pintado vienen porque el area pintada pertenece al diálogo/windows y no al control, con lo que se afecta todo el diálogo.
¿Que opinais de tener un 'resaltador', un bitmap móvil, que se adapta al tamaño del control que queremos resaltar? Se pinta con canal alpha y los degradados, y hace el pintado independiente del control, con lo que valdría también para otras clases distintas de la tGet Tendríamos uno solo por Win/Dlg, se movería 'debajo' del control que toma foco (o desaparecería si el control no hace uso del resaltado), No habría que modificar las clases existentes, o tal vez muy poco, disminuyendo el impacto sobre el código existente.

Bueno, esos son mis 2 cents. :)
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Carlos Mora
 
Posts: 989
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: Luz en la caja del get

Postby mastintin » Wed Nov 19, 2014 2:09 pm

otra versión ... con gdi+ .
Code: Select all  Expand view  RUN

function LightBorder( oGet,lfocus,lRounded )

   local hDC := oGet:oWnd:GetDC()
   local hBrush, hOldBrush, n
   local aTopLeft, aBottomRight
   local hPen1
   local aRect := GetClientRect( oGet:hWnd )
   local oGraphics := Graphics():New( hDC ) //Graphic-Object, High Quality is standard
   local oPen
   
  local nRed := nRGBRed( oget:ownd:nClrPane )
  local nGreen := nRGBGreen( oget:ownd:nClrPane )
  local nBlue := nRGBBlue( oget:ownd:nClrPane )
 

 
    if lFocus
      hPen1 = CreatePen( PS_SOLID, 1,  nRGB( 102 , 175, 233 ) )
     else
      hPen1 = CreatePen( PS_SOLID, 1,  nRGB( 180 , 180, 180 ) )
    endif
 
   SelectObject( hDC,hPen1)
     
    aTopLeft = ClientToScreen( oGet:hWnd, { aRect[1], aRect[2] } )
    aTopLeft = ScreenToClient( oGet:oWnd:hWnd, aTopLeft )

    aBottomRight = ClientToScreen( oGet:hWnd, {aRect[3], aRect[4] } )
    aBottomRight = ScreenToClient( oGet:oWnd:hWnd, aBottomRight )
   
     SetBkMode( hDC , 1 )
       
 
     if lRounded
        RoundRect( hDC, aTopLeft[2]-4, aTopLeft[1]-2, aBottomRight[ 2 ]+3,  aBottomRight[ 1 ]+2 , 7, 7 )
    else
        Rectangle( hDC, aTopLeft[1]-2, aTopLeft[2]-2, aBottomRight[ 1 ]+2,  aBottomRight[ 2 ]+2 )
    endif
   
     DeleteObject( hpen1 )
     
       
    for n = 1 to 10 // 10 es mejor
           
      if lFocus
        oPen := Pen():New( 255-n*25 , 214, 234, 249 , 1 , .T.)
      else
        oPen := Pen():New( 255 , nRed, nGreen, nBlue , 1 , .T.)
      endif  
       
      open:setsize(1)
     
      oGraphics:DrawRect( oPen, , aTopLeft[2]-n-4 , aTopLeft[1]-n-2,  aBottomRight[ 2 ]- aTopLeft[2]+(n+3)*2 , aBottomRight[ 1 ]- aTopLeft[1]+ (n+2)*2 )
       
      open:destroy()
 
   next
 oGraphics:destroy()
 oGet:oWnd:ReleaseDC()

Return nil
 
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Luz en la caja del get

Postby D.Fernandez » Mon Dec 01, 2014 2:36 pm

Para que no se pierda...Me interesa..
Gracias

Saludos.
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
D.Fernandez
 
Posts: 492
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay

Re: Luz en la caja del get

Postby karinha » Wed Apr 06, 2016 8:32 pm

Antonio Linares wrote:Manuel,

Tenemos que decidir si usar rectángulos (con esquinas redondeadas) ó degradados.

Y una vez decidamos eso, ver la opción de que sean transparentes y se mezclen con el fondo.

Si hacemos una función lo suficientemente genérica podriamos llamarla para cualquier control y entonces incluirla estandard (aunque opcional) en FWH.



Master esto está incluido en el nuevo FWHX?

Gracias, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7874
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Luz en la caja del get

Postby Antonio Linares » Thu Apr 07, 2016 7:14 am

João,

No
regards, saludos

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

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 22 guests