Вверх ↑
Ответов: 2203
Рейтинг: 675
#1: 2018-05-25 14:43:53 ЛС | профиль | цитата
Удали добавленную строку, верни все как было.

--- Добавлено в 2018-05-25 15:05:51

Пока бред получается.

Есть у кого ещё win7 64b? Проверьте ошибку. На пустой проект бросьте компонент календарь, увеличьте его размер чтоб отображал 12 месяцев и запустите проект, будут ли в первом месяце выделенные дни?

--- Добавлено в 2018-05-25 15:19:04

tig-rrr, а поставьте эту строку: DayT[1] := $00000000;
Там же в WM_NOTIFY.
Должно получится вот так:
{78}   WM_NOTIFY : begin
NMS := PNMSelChange(Msg.lParam);
case NMS.nmhdr.code of
MCN_GETDAYSTATE:
with PMDAYSTATE(Msg.LParam)^ do
begin
sm := stStart.wMonth;//предыдущий месяц с которого начат календарь
i := 0;
while i < cDayState do//cDayState - количество отображаемых месяцев (+2 включая предыдущий и следующий)
begin
DayT[i] := fControl.DayM[sm];
inc(i);
inc(sm);
if sm = 13 then sm := 1;
end;
{вот эту строку} DayT[1] := $00000000;
prgDayState := Cardinal(@DayT);
end;
Это должно полностью обнулить выделенные даты в первом месяце календаря.
карма: 11

0
Редактировалось 4 раз(а), последний 2018-05-25 15:20:54