Я хотел бы использовать CDateTimeCtrl
, чтобы позволить пользователю выбирать дату, не относящуюся к выходным.Таким образом, если пользователь увеличивает день (нажатием клавиши) - и найденный день выпадает на выходные - тогда элемент управления должен перейти к следующему понедельнику (не позволяйте проблемам с изменениями месяца отвлекать вас, это не такрелевантно).
Обычно это не проблема: когда я обрабатываю уведомление DTN_DATETIMECHANGE
, я могу проверить новую дату / время и, если обнаружится, что это выходные, я могу позвонить SetTime
на элементе управленияобновить дату. Однако, если я установлю стиль на DTS_SHOWNONE
, этот вызов SetTime
заставит элемент управления сместить вход «focus» (термин используется свободно) на флажок «none», например, отдневное поле.Это препятствует тому, чтобы пользователь использовал ввод с клавиатуры, чтобы продолжать увеличивать дату, если он впоследствии не использует клавишу со стрелкой вправо для сброса «фокуса», что просто противно.сдвиг от происходящего.Это вообще возможно?