Ver Mensaje Individual
  #6  
Antiguo 25-04-2026
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Reputación: 21
Angel.Matilla Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
¿Sabes a qué se refiere la estructura MONTHDAYSTATE?
Gracias por la ayuda. Estuve viendo el enlace que pusiste, me aclaró bastantes cosas y encontré la manera de hacer lo que quería. He usado este código:
Código:
void __fastcall TfFacAlb::DateTimePicker1DropDown(TObject *Sender)
{
     MONTHDAYSTATE MonthBInfo[3] = {0, 0, 0};
     Word Year, Month, Day;

     DateTimePicker1->MinDate = FecPago->MinDate;
     DateTimePicker1->MaxDate = FecPago->MaxDate;
     HANDLE hCalendar = (HANDLE)SendMessage(DateTimePicker1->Handle, DTM_GETMONTHCAL, 0, 0);
     for (TDate d = DateTimePicker1->MinDate; d <= DateTimePicker1->MaxDate; d ++)
     {
          DecodeDate(d, Year, Month, Day);
          BOLDDAY(MonthBInfo[0], Day);
          BOLDDAY(MonthBInfo[1], Day);
          BOLDDAY(MonthBInfo[2], Day);

          if(hCalendar > 0)
               SendMessage(hCalendar, MCM_SETDAYSTATE, 3, LPARAM(MonthBInfo));
     }
}
Pero me falta algo. La primera vez que se despliega el DateTimePicker hace lo que quiero.

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.
Responder Con Cita