whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

35 Visitors Online


 
...Show Week Numbers in a TDateTimePicker?
Autor: unknown
[ Print tip ]  

Tip Rating (8):  
     




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;


 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners