Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Показывать номера недели в TDateTimePicker

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

uses
   CommCtrl;

 type
   THackCommonCalendar = class(TCommonCalendar);

   {...}

 procedure TForm1.DateTimePicker1DropDown(Sender: TObject);
 var
   Style: Integer;
   ReqRect: TRect;
   MaxTodayWidth: Integer;
 begin
   with THackCommonCalendar(Sender as TDateTimePicker) do
   begin
     // set style to include week numbers 
    Style := GetWindowLong(CalendarHandle, GWL_STYLE);
     SetWindowLong(CalendarHandle, GWL_STYLE, Style or MCS_WEEKNUMBERS);
     FillChar(ReqRect, SizeOf(TRect), 0);
     // get required rect 
    Win32Check(MonthCal_GetMinReqRect(CalendarHandle, ReqRect));
     // get max today string width 
    MaxTodayWidth := MonthCal_GetMaxTodayWidth(CalendarHandle);
     // adjust rect width to fit today string 
    if MaxTodayWidth > ReqRect.Right then
       ReqRect.Right := MaxTodayWidth;
     // set new height & width 
    SetWindowPos(CalendarHandle, 0, 0, 0, ReqRect.Right, ReqRect.Bottom,
       SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOZORDER);
   end;
 end;
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay