Я использую элемент управления выбора времени usoft в диалоговом окне. Я начал с установки формата «ЧЧ»: «мм», «ddddMMMdd», «гггг» и текущей локальной даты и времени, используя DTM-SETSYSTEMTIME. Если пользователь изменяет какое-либо поле в элементе управления, программа не может сбросить дату и время в элементе управления, используя DTM-SETSYSTEMTIME, хотя SendMessage возвращает 1. Насколько я могу судить, диалоговое окно возвращает false (ноль) для любых уведомлений он получает относительно контроля.
Проблема, как описано выше, заключается в том, как я впервые узнал об этом, но на самом деле все гораздо проще. Я сделал два вызова DTM-SETSYSTEMTIME подряд, и только первый из них вступил в силу. Второе в следующем примере не вступает в силу, хотя возвращается статус 1.
hwnd = GetDlgItem (hDlg, IDC_SUN_STAT_DATE_TIME);
Status = SendMessage (hwnd, DTM_SETFORMAT,0,(LPARAM)"HH':'mm' 'ddddMMMdd','yyyy");
Status = SendMessage (hwnd, DTM_SETSYSTEMTIME,GDT_VALID, (LPARAM)&systimeTime);
systimeTime.wHour += 2;
Status = SendMessage (hwnd, DTM_SETSYSTEMTIME,GDT_VALID, (LPARAM)&systimeTime);
Похоже, что действует только первый DTM-SETSYSTEMTIME, а следующие игнорируются.
Что мне нужно сделать, чтобы изменить / сбросить дату / время в элементе управления? Или (более вероятно), что я делаю не так?