link2760 link2761 link2762 link2763 link2764 link2765 link2766 link2767 link2768 link2769 link2770 link2771 link2772 link2773 link2774 link2775 link2776 link2777 link2778 link2779 link2780 link2781 link2782 link2783 link2784 link2785 link2786 link2787 link2788 link2789 link2790 link2791 link2792 link2793 link2794 link2795 link2796 link2797 link2798 link2799 link2800 link2801 link2802 link2803 link2804 link2805 link2806 link2807 link2808 link2809 link2810 link2811 link2812 link2813 link2814 link2815 link2816 link2817 link2818 link2819 link2820 link2821 link2822 link2823 link2824 link2825 link2826 link2827 link2828 link2829 link2830 link2831 link2832 link2833 link2834 link2835 link2836 link2837 link2838 link2839 link2840 link2841 link2842 link2843 link2844 link2845 link2846 link2847 link2848 link2849 link2850 link2851 link2852 link2853 link2854 link2855 link2856 link2857 link2858 link2859 link2860 link2861 link2862 link2863 link2864 link2865 link2866 link2867 link2868 link2869 link2870 link2871 link2872 link2873 link2874 link2875 link2876 link2877 link2878 link2879 link2880 link2881 link2882 link2883 link2884 link2885 link2886 link2887 link2888 link2889 link2890 link2891 link2892 link2893 link2894 link2895 link2896 link2897

Форум — Ответы     (  К темам )
 ?  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 блин — я это "лечил" настройками компилятора