Antonio: Defecto en Gradient en Windows 7

Antonio: Defecto en Gradient en Windows 7

Postby jll-fwh » Tue Feb 23, 2010 12:27 pm

Hola Antonio:

He probado la funcion que publicastes aqui en el foro para generar un gradient en el xBrowse estilo Windows 7, el efecto es super bonito, pero tiene un fallo que no se solucionar. Cuando el campo a mostrar en el Browse no contiene informacion no generar el gradient en ese campo, y tambien tiene el mismo defecto cuando el ultimo campo declarado en el xBrowse no llega al final del tamaño del xBrowse, muestra la barra por defecto sin el gradient. Probado en una Windows MDI.

NOTA: No he subido una imagen porque todavia estoy actualizando los programas para Windows 7, ya que no funciona nada de lo que tenia, ahora necesito un FTP para Windows 7. Para la proxima duda/error intentare poner una imagen que vale mas que mil palabras.

Si algun prueba esto, que uno de los campos de la B.D que no tenga informacion para ver el efecto.

Espero que me haya explicado correctamente.


// Para Gradient estilo Windows 7
oGrid:nRowDividerStyle = LINESTYLE_NOLINES
oGrid:nColDividerStyle = LINESTYLE_NOLINES
oGrid:nMarqueeStyle = MARQSTYLE_HIGHLROW
oGrid:lTransparent = .T.

Despues de la declaracion del xBrowse:

* Metodo 1: Gradient para Windows 7
AEval( oGrid:aCols, { | oCol | oCol:bPaintText := { | oCol, hDC, cData, aRect | ;
PaintCol( oCol, hDC, cData, aRect ) } } )

Funcion:


static function PaintCol( oCol, hDC, cData, aRect )

if oCol:oBrw:VGetPos() == Especies->( OrdKeyNo() )

GradientFill( hDC, aRect[ 1 ] - 2, aRect[ 2 ] - 3, aRect[ 3 ] + 1, aRect[ 4 ] + 5,;
{ { 1, RGB( 220, 235, 252 ), RGB( 193, 219, 252 ) } }, .T. )

RoundBox( hDC, 2, aRect[ 1 ] - 1, WndWidth( oCol:oBrw:hWnd ) - 22, aRect[ 3 ] + 1, 2, 2,;
RGB( 235, 244, 253 ), 1 )
RoundBox( hDC, 1, aRect[ 1 ] - 2, WndWidth( oCol:oBrw:hWnd ) - 21, aRect[ 3 ] + 2, 2, 2,;
RGB( 125, 162, 206 ), 1 )

endif

SetTextColor( hDC, 0 )
DrawTextEx( hDC, cData, aRect, oCol:nDataStyle )

Return nil

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
User avatar
jll-fwh
 
Posts: 408
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia

Re: Antonio: Defecto en Gradient en Windows 7

Postby jll-fwh » Tue Feb 23, 2010 12:47 pm

Aqui esta la Imagen:

Image

un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
User avatar
jll-fwh
 
Posts: 408
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia

Re: Antonio: Defecto en Gradient en Windows 7

Postby José Luis Sánchez » Mon Aug 16, 2010 7:51 am

Hola,
Yo tengo el mismo problema y la verdad es que no se como resolverlo. Yo creo que el efecto de rejilla a la Windows 7 se obtiene más por los dos rebordes de la fila seleccionada, el interior blanco y el exterior azul que por el gradiente en sí. Y creo que nos estamos complicando la vida al intentar usar el método bPaintText. Estoy viendo la manera de pintar los rebordes en el método Paint() de la clase XBrowse, igual que se pinta el selector de fila cuando se ha terminado de pintar todas las columnas pintar los dos rebordes. Si lo consigo lo publicaré en el foro, y si alguien lo ha hecho así o tiene idea de cómo hacerlo agradecería que lo publicara.
Saludos,
José Luis
User avatar
José Luis Sánchez
 
Posts: 539
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España

Re: Antonio: Defecto en Gradient en Windows 7

Postby Daniel Garcia-Gil » Mon Aug 16, 2010 10:22 am

jll-fwh, Jose Luis

jll-fwh
El punto ya los has tratado y te di la solucion para tu version, pero no se si la aplicaste correctamente, verifica nuevamente este hilo
http://forums.fivetechsupport.com/viewtopic.php?p=95369#p95369

Ponle atencion al punto para tu version
http://forums.fivetechsupport.com/viewtopic.php?p=95709#p95709

Jose luis verifica el primer link y sigue el hilo

el unico problema que no se ha solucionado y por la logica de pintado del xbrowse no tiene solucion por ahora, es el uso de bitmap junto con el gradient
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Antonio: Defecto en Gradient en Windows 7

Postby José Luis Sánchez » Mon Aug 16, 2010 2:12 pm

Hola,
Gracias de nuevo por la solución. He estado probando en un par de aplicaciones, y los bitmaps se ven bien con el gradiente. Uso bitmaps normales, no alphablended, porque mi versión de FWH es un tanto antigua.
Saludos,
José Luis
User avatar
José Luis Sánchez
 
Posts: 539
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España


Return to FiveWin para Harbour/xHarbour

Who is online

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