Форум — Ответы     (  К темам )
 ?  Vladimir: Помогите с пользованием TMonthCalendar (23-01-2003 11:50:24)
Надо выделить определенные числа месяца (для примера праздники и выходные).
как сделать чтобы они стали толстыми (bold).
Код :
unsigned int bolddays[4] = {1,2,7,25};
MonthCalendar1->BoldDays(bolddays,3,MonthBoldInfo);
не делает 1,2.. числа толстыми.
 Георгий (24-01-2003 07:15:23)
Владимир — видать у Borland опять что-то не работает:
в обработчике события GetMonthInfo есть параметр (передаваемые по ссылке) MonthBoldInfo — это 32-х битное число, каздый бит которого указывает надоли соответствующий ему день (число) писать жирным шрифтом:
если MonthBoldInfo=3; то 1 и 2 число пишутся жирным шрифтом
а если MonthBoldInfo=1; то 1 число — жирное
так вот — MonthCalendar1->BoldDays(bolddays,3,MonthBoldInfo); — видать должна была и устанавливать эти биты, но она их не устанавливает — можно убедиться в пошаговой отладке. Аналогичная сложность была в Borland C++ 3.1, но там она лечилась настройками компилятора, а здесь наверное придётся делать свою функцию, которая устанавливает нужные биты в переменной MonthBoldInfo.
 Владимир (24-01-2003 14:52:41)
Биты то выставляются, а вот число пишется как и все остальные не жирным шрифтом
 Георгий (24-01-2003 17:40:17)
А у меня как раз в битах дело было!
После их установки "вручную" числа с этим битом стали чуть толше ;-]
Не думал, что тут 2 глюка с Borland`ом.
 Владимир (24-01-2003 23:42:06)
Все работает, просто help с example составляли Кривые Руки.
Должно быть так:

void __fastcall TForm1::MonthCalendar1GetMonthInfo(TObject *Sender,
DWORD Month, DWORD &MonthBoldInfo)
{
unsigned int bolddays[4] = {1,2,7,25};
MonthCalendar1->BoldDays(bolddays,3, (unsigned &)MonthBoldInfo);
}

и все работает.
 Георгий (26-01-2003 06:17:43)
т.е. в функцию BoldDays попадала КОПИЯ MonthBoldInfo блин — я это "лечил" настройками компилятора