Página 1 de 1
Festivos en Negrita en TMonthCalendar
Publicado: Mar Nov 01, 2016 9:59 am
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.
Re: Festivos en Negrita en TMonthCalendar
Publicado: Mar Nov 01, 2016 6:49 pm
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.
Re: Festivos en Negrita en TMonthCalendar
Publicado: Mar Nov 01, 2016 8:33 pm
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.
Re: Festivos en Negrita en TMonthCalendar
Publicado: Mar Nov 01, 2016 8:40 pm
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.
Re: Festivos en Negrita en TMonthCalendar
Publicado: Mar Nov 01, 2016 8:47 pm
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
Re: Festivos en Negrita en TMonthCalendar
Publicado: Mié Nov 02, 2016 4:01 pm
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.
Re: Festivos en Negrita en TMonthCalendar
Publicado: Lun Nov 14, 2016 12:27 pm
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.