Clase TIconGroup ( SOLUCIONADO )

Clase TIconGroup ( SOLUCIONADO )

Postby cuatecatl82 » Thu Jul 30, 2015 7:18 pm

Buenas tardes a todos los compañeros:

He trabajando un rato con la Clase TIconGroup sin muchos problemas, la vez pasada pude implementar el uso del Mouse y las teclas de avance de pagina, en esta ocasion les pido de su colaboracón a los master de las Clases, y es que no encuentro como caambiar el bendito color del icono seleccionado, ya que en la clase no esta definido, la hereda desde la clase TControl.

Image

Solo he logrado cambiar el color del icono cuando pierde el foco, pero no cuando esta seleccionado, ni de forma condicional el control evalua cada click dentro del control sin permitir el color del selector:

http://www.mediafire.com/download/wz68p9mwce29yjm/IGroup.rar

Maestro Antonio ojala le pueda dar una revisada... Saludos..
Last edited by cuatecatl82 on Sat Aug 01, 2015 1:27 pm, edited 1 time in total.
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
User avatar
cuatecatl82
 
Posts: 625
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México

Re: Clase TIconGroup

Postby Antonio Linares » Fri Jul 31, 2015 11:52 am

Victor,

Parace que el pintado de los iconos se realiza con la función ExtDrawIcon()

Y hay un método METHOD ShowFocus( lFocused ) CLASS TIconGroup desde donde se llama a ExtDrawIcon()

En concreto:

::aCoors[ nAt ] = ExtDrawIcon( hDC, ::aCoors[ nAt, 1 ], ::aCoors[ nAt, 2 ], ;
::aIcons[ nAt ], ::aPrompts[ nAt ], hFont, ;
::nClrText, ::nClrPane, lFocused, .t., ::lEdit )

Yo probaría a cambiar el color de ::nClrPane

Prueba asi:

oIconGroup:bGotFocus := { || ::nClrPane := nColorQueDesees }
regards, saludos

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

Re: Clase TIconGroup

Postby cuatecatl82 » Sat Aug 01, 2015 12:44 am

Asi es Maestro, he tocado el método METHOD ShowFocus( lFocused ) CLASS TIconGroup pensando que desde ahi se podria, pero es negativo, solo se puede modificar los colores del texto y fondo del icono cuando pierde el foco, revisando en la clase no encontre de donde obtiene el color que por defecto toma el Icono al recibir el foco, por eso dedusco que lo hereda desde la Clase TControl. así es como queda con lo que me sugiere y que ya habia probado, pero no es lo que necesito.

Habra que realiza algun cambio en la clase..?

Image


Saludos.
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
User avatar
cuatecatl82
 
Posts: 625
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México

Re: Clase TIconGroup

Postby joseluisysturiz » Sat Aug 01, 2015 4:05 am

Saludos, disculpa mi ignorancia, pero mas o menos que funcion cumple esta clase y como para que se podria usar en una aplicacion o que tipo de aplicacion es la mas conveniente.? en pocas palabras...cual es el uso mas adecuadao.? gracias, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Clase TIconGroup

Postby Antonio Linares » Sat Aug 01, 2015 7:53 am

Victor,

El problema viene de la función EXTDRAWICON() que selecciona los colores de esta fortma:

COLORREF nClrFore = bFocused ? GetSysColor( COLOR_CAPTIONTEXT )
: hb_parnl( 7 );
COLORREF nClrBack = bFocused ? GetSysColor( COLOR_ACTIVECAPTION )
: hb_parnl( 8 );

Al dibujar el elemento seleccionado está usando COLOR_ACTIVECAPTION

La manera más simple de solucionarlo sería que modificases el código de esta función y que lo añadas a tu PRG principal
regards, saludos

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

Re: Clase TIconGroup

Postby cuatecatl82 » Sat Aug 01, 2015 1:27 pm

Jose Luis:

La Clase TIconGroupsirve para poder dibujar iconos en un control para simular un explorador de archivos propio de Fivewin, puede Mostrar el icono, cambiarle el nombre, arrastrarlos moverlos u ordenarlos y cada uno puede realizar una accion, es una clase que casi nadie usa pero que para mi me ha serviso en varios proyectos.
Saludos.


Espectacular Maestro: Solucionado el Problema le agradesco Mucho.. Saludos.-
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
User avatar
cuatecatl82
 
Posts: 625
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México

Re: Clase TIconGroup

Postby joseluisysturiz » Sat Aug 01, 2015 2:26 pm

cuatecatl82 wrote:Jose Luis:

La Clase TIconGroupsirve para poder dibujar iconos en un control para simular un explorador de archivos propio de Fivewin, puede Mostrar el icono, cambiarle el nombre, arrastrarlos moverlos u ordenarlos y cada uno puede realizar una accion, es una clase que casi nadie usa pero que para mi me ha serviso en varios proyectos.
Saludos.


Espectacular Maestro: Solucionado el Problema le agradesco Mucho.. Saludos.-

Muchas gracias por tu explicacion, pero lo que mas me gustaria saber es como en que tipo de aplicaciones lo usas o si podrias poner alguna imagen de tus sistemas usandola para ver si le puedo sacar algun beneficion, a veces el que no usemos una clase es porque es nuestrtas aplicaciones no sabemos para que nos seria util, o a lo mejor el no conocerla, hacemos algo de una forma, cuando con dicha clase, seria mas facil y comodo, gracias,saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Clase TIconGroup ( SOLUCIONADO )

Postby cuatecatl82 » Sat Aug 01, 2015 4:21 pm

Un pequeño ejemplo propio con codigo fuente y todas las modificaciones que le he realizado incluidas:
http://www.mediafire.com/download/pf74sqy7e22cchi/IGroup2.zip

El archivo de ejemplo original de Ramon Avendaño esta en .\samples\Testigro.prg, si no mal recuerdo el generador de aplicaciones Verce tambien lo usa

Image

Saludos.
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
User avatar
cuatecatl82
 
Posts: 625
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México

Re: Clase TIconGroup ( SOLUCIONADO )

Postby joseluisysturiz » Sat Aug 01, 2015 4:37 pm

cuatecatl82 wrote:Un pequeño ejemplo propio con codigo fuente y todas las modificaciones que le he realizado incluidas:
http://www.mediafire.com/download/pf74sqy7e22cchi/IGroup2.zip

El archivo de ejemplo original de Ramon Avendaño esta en .\samples\Testigro.prg, si no mal recuerdo el generador de aplicaciones Verce tambien lo usa

Image

Saludos.

Super, lo descargo y reviso...ya se me vienen idesas de como usarla en mis sistemas, por lo menos para las conexion entre las estaciones de trabajo...o hasta para hacer exportaciones en los reportes, opciones para unidades donde hacer respaldo, etc...gracias man...saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Clase TIconGroup ( SOLUCIONADO )

Postby cnavarro » Sat Aug 01, 2015 5:01 pm

Muy bueno, gracias
Solo un add si me lo permites, añade

Code: Select all  Expand view

   #ifndef _WIN64
         ... hb_retnl(
   // y
        ... hb_parnl(
   #else
        ... hb_retnll(
    // y  
       ... hb_parnll(
   #endif
 


A mi se me olvidan habitualmente
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Clase TIconGroup ( SOLUCIONADO )

Postby joseluisysturiz » Sat Aug 01, 2015 5:08 pm

cnavarro wrote:Muy bueno, gracias
Solo un add si me lo permites, añade

Code: Select all  Expand view

   #ifndef _WIN64
         ... hb_retnl(
   // y
        ... hb_parnl(
   #else
        ... hb_retnll(
    // y  
       ... hb_parnll(
   #endif
 


A mi se me olvidan habitualmente


Disculpa NAVARRO, no entendi tu comentario, esto que recomiendas es como para que..? saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Clase TIconGroup ( SOLUCIONADO )

Postby cnavarro » Sat Aug 01, 2015 5:17 pm

joseluisysturiz wrote:
cnavarro wrote:Muy bueno, gracias
Solo un add si me lo permites, añade

Code: Select all  Expand view

   #ifndef _WIN64
         ... hb_retnl(
   // y
        ... hb_parnl(
   #else
        ... hb_retnll(
    // y  
       ... hb_parnll(
   #endif
 



A mi se me olvidan habitualmente


Disculpa NAVARRO, no entendi tu comentario, esto que recomiendas es como para que..? saludos... :shock:


Para poder usarlo en 32 o 64 bits
Nada que disculpar, a mandar :D
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Clase TIconGroup ( SOLUCIONADO )

Postby joseluisysturiz » Sat Aug 01, 2015 5:23 pm

Ok, confirmas mi sospecha que era para eso, jejej..nunca esta demas confirmar, gracias y saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

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