In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Festivos en Negrita en TMonthCalendar

Foro público de Xailer en español
Responder
jvtecheto
Mensajes: 127
Registrado: Jue Dic 19, 2013 1:18 pm

Festivos en Negrita en TMonthCalendar

Mensaje por jvtecheto »

Buenos días:

En un TMonthCalendar para poner los festivos en negrita y siguiendo el manual esta la matriz de fechas aHolidays la cual por defecto esta vacia.

En el Evento OnCreate del control hago esto

METHOD MonthCalendar1Create( oSender ) CLASS TForm1
AAdd( oSender:aHolidays,CToD("25/12/2016") ) // o cualquier fecha va...
RETURN Nil

Pero navegando por el Control en tiempo de ejecución la fecha no pasa a negrita.

En el Evento OnInitialize del formulario he puesto
SET DATE TO ITALIAN
para que tenga el formato de fechas correcto "dd/mm/aaa"

¿Qué me falta ?

Saludos.

Jose Vte.
jvtecheto
Mensajes: 127
Registrado: Jue Dic 19, 2013 1:18 pm

Re: Festivos en Negrita en TMonthCalendar

Mensaje por jvtecheto »

Bueno me contesto un poco yo, no estoy loco, creo...

El código funciona bien lo que pasa es que coge la fecha en formato mm/dd/aa

Por cierto ...¿El Color del festivo se podría cambiar a rojo?

aunque coloques SET DATE TO ITALIAN parece que no hace caso y esta colocado en OnInitialize del formulario.

Que creo que es correcto.

¿A vosotros os funciona el SET DATE TO ITALIAN ?
¿Alguien tiene alguna idea?

Gracias amigos.

Jose Vte.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Re: Festivos en Negrita en TMonthCalendar

Mensaje por jfgimenez »

jvtecheto escribió:Bueno me contesto un poco yo, no estoy loco, creo...

El código funciona bien lo que pasa es que coge la fecha en formato mm/dd/aa

Por cierto ...¿El Color del festivo se podría cambiar a rojo?
Me temo que no.
aunque coloques SET DATE TO ITALIAN parece que no hace caso y esta colocado en OnInitialize del formulario.

Que creo que es correcto.

¿A vosotros os funciona el SET DATE TO ITALIAN ?
¿Alguien tiene alguna idea?
Quizás estás cambiando el formato de fecha después de asignar la propiedad. Revísalo, o muestranos el código que has usado para comprobarlo.
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jvtecheto
Mensajes: 127
Registrado: Jue Dic 19, 2013 1:18 pm

Re: Festivos en Negrita en TMonthCalendar

Mensaje por jvtecheto »

Gracias por tu respuesta Jose:

Yo creo que no , en el evento OnInitialize del formulario coloco el SET DATE TO ITALIAN

Y en el evento Oncreate del TMonthCalendar es donde relleno el array aHolidays.

Yo creo que el OnInitialize del formulario se produce antes que el Oncreate de un control del formulario ¿No?

De todas formas te puedo pasar el proyecto de prueba si quieres.

Saludos.

Jose Vte.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Re: Festivos en Negrita en TMonthCalendar

Mensaje por jfgimenez »

jvtecheto escribió:Yo creo que no , en el evento OnInitialize del formulario coloco el SET DATE TO ITALIAN

Y en el evento Oncreate del TMonthCalendar es donde relleno el array aHolidays.

Yo creo que el OnInitialize del formulario se produce antes que el Oncreate de un control del formulario ¿No?
No, es justo al revés. El evento OnInitialize es el último evento que se dispara durante la creación del formulario y sus controles. Echa un vistazo a esto: http://xailer.info/wordpress/es/?p=22
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jvtecheto
Mensajes: 127
Registrado: Jue Dic 19, 2013 1:18 pm

Re: Festivos en Negrita en TMonthCalendar

Mensaje por jvtecheto »

Magnifico articulo Jose.

Los usuarios agradecemos estas cosas...

Ahora me funciona colocando el código en el evento OnBeforeCreate del formulario.

Pero en el Control calendario solo se dibuja en negrita si cambio de mes , me explico si por ejemplo yo elijo una fecha de aHolidays de Noviembre que es nuestro mes
no se pinta en negrita incluso con oMonthCalendar1:Refresh(), sin embargo si tenemos una en agosto, vamos al mes y esta en negrita y cuando volvemos al noviembre la fecha de noviembre también esta en negrita.
Coloco el código de asignación de festivos en el evento Oncreate del control, pero también he probado de asignarlos por pulsación de 1 botón y pasa lo mismo incluso aplicándole el método Redraw() , que en teoría redibujaria el control y se pintaría la fecha en negrita.

Saludos

Jose Vte.
jvtecheto
Mensajes: 127
Registrado: Jue Dic 19, 2013 1:18 pm

Re: Festivos en Negrita en TMonthCalendar

Mensaje por jvtecheto »

Sres. de Xailer.

Yo creo que esto es un pequeño bug, como les explicaba en el mensaje anterior si la fecha elegida esta en el mes actual no se pinta en negrita, ese no es el comportamiento correcto. Solo lo hace si nos desplazamos al mes anterior , posterior y volvemos al actual.

Por lo menos díganme que lo van a arreglar.

Saludos.

Jose Vte.
Responder