![]() |
Efectos en un TDateTimePicker
Estoy usando un código que me facilitó escafandra en el Foro Club Builder para destacar en este elemento determinadas fechas. El código es este:
Código:
#define BOLDDAY(ds, iDay) \![]() Como veis unos días sí los pone en negrita y otros no. He probado en ese evento con variaciones del código como esta: Código:
void __fastcall TfFacAlb::FecPagoDropDown(TObject *Sender)Código:
void __fastcall TfFacAlb::FecPagoDropDown(TObject *Sender) |
Cita:
¿Que siempre son los ismos días? ¿Que no pinta ninguno? |
Cita:
|
¿Sabes a qué se refiere la estructura MONTHDAYSTATE?
Aquí explican qué es cada cosa... https://learn.microsoft.com/es-es/wi...set-day-states Cita:
Código:
#define BOLDDAY(ds, iDay) \ |
Gracias por la información, pero en estos temas estoy totalmente perdido y no entiendo lo que quieren decir. :confused:
|
Cita:
Código:
void __fastcall TfFacAlb::DateTimePicker1DropDown(TObject *Sender)![]() Pero si salgo de ese desplegable, al volver a mostrar el mes me hace lo mismo de antes: uno sí los pone en negrita y otros no. ![]() Tengo que ver si hay alguna forma de "resetear" el mes. |
No había visto este tema hasta ahora.
Para que el marcado de días sea consistente hay que crearse un componente o hacer un subclassing del TDateTimePicker. Si trabajasemos sobre un TMonthCalendar, bastaría con interceptar en el Formulario los mensajes WM_NOTIFY. Esto es debido a que un control windows envia las notificaciones a su parent, en el caso de TMonthCalendar las envía al Formulario pero en el caso de TDateTimePicker, lleva un MonthCalendar desplegable que notifica al DateTimePicker. Se debe gestionar la notificación MCN_GETDAYSTATE de esta manera: Código:
void __fastcall TForm1::SubClassTimePickerProc(TMessage& Message)Código:
//---------------------------------------------------------------------------Código:
//--------------------------------------------------------------------------- |
| La franja horaria es GMT +2. Ahora son las 21:32:28. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi