mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-28 21:41:01 +02:00
win32: implement TWin32WSCustomCalendar.HitTest
git-svn-id: trunk@19112 -
This commit is contained in:
parent
3b0c402312
commit
5c9822cc3e
@ -48,6 +48,7 @@ type
|
||||
class procedure AdaptBounds(const AWinControl: TWinControl;
|
||||
var Left, Top, Width, Height: integer; var SuppressMove: boolean); override;
|
||||
class function GetDateTime(const ACalendar: TCustomCalendar): TDateTime; override;
|
||||
class function HitTest(const ACalendar: TCustomCalendar; const APoint: TPoint): TCalendarPart; override;
|
||||
class procedure SetDateTime(const ACalendar: TCustomCalendar; const ADateTime: TDateTime); override;
|
||||
class procedure SetDisplaySettings(const ACalendar: TCustomCalendar; const ASettings: TDisplaySettings); override;
|
||||
end;
|
||||
@ -116,6 +117,33 @@ begin
|
||||
Result := EncodeDate(WYear,WMonth,WDay);
|
||||
end;
|
||||
|
||||
class function TWin32WSCustomCalendar.HitTest(const ACalendar: TCustomCalendar;
|
||||
const APoint: TPoint): TCalendarPart;
|
||||
var
|
||||
HitTestInfo: MCHITTESTINFO;
|
||||
HitPart: DWord;
|
||||
begin
|
||||
if not WSCheckHandleAllocated(ACalendar, 'TWin32WSCustomCalendar.HitTest') then
|
||||
Exit;
|
||||
FillChar(HitTestInfo, SizeOf(HitTestInfo), 0);
|
||||
HitTestInfo.cbSize := SizeOf(HitTestInfo);
|
||||
HitTestInfo.pt := APoint;
|
||||
HitPart := SendMessage(ACalendar.Handle, MCM_HITTEST, 0, LPARAM(@HitTestInfo));
|
||||
case HitPart of
|
||||
MCHT_CALENDARDATE,
|
||||
MCHT_CALENDARDATENEXT,
|
||||
MCHT_CALENDARDATEPREV: Result := cpDate;
|
||||
MCHT_CALENDARWEEKNUM : Result := cpWeekNumber;
|
||||
MCHT_TITLEBK: Result := cpTitle;
|
||||
MCHT_TITLEMONTH: Result := cpTitleMonth;
|
||||
MCHT_TITLEYEAR: Result := cpTitleYear;
|
||||
MCHT_TITLEBTNNEXT,
|
||||
MCHT_TITLEBTNPREV: Result := cpTitleBtn;
|
||||
else
|
||||
Result := cpNoWhere;
|
||||
end;
|
||||
end;
|
||||
|
||||
class procedure TWin32WSCustomCalendar.SetDateTime(const ACalendar: TCustomCalendar; const ADateTime: TDateTime);
|
||||
var
|
||||
ST: SystemTime;
|
||||
|
Loading…
Reference in New Issue
Block a user