mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-04 19:20:38 +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;
|
class procedure AdaptBounds(const AWinControl: TWinControl;
|
||||||
var Left, Top, Width, Height: integer; var SuppressMove: boolean); override;
|
var Left, Top, Width, Height: integer; var SuppressMove: boolean); override;
|
||||||
class function GetDateTime(const ACalendar: TCustomCalendar): TDateTime; 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 SetDateTime(const ACalendar: TCustomCalendar; const ADateTime: TDateTime); override;
|
||||||
class procedure SetDisplaySettings(const ACalendar: TCustomCalendar; const ASettings: TDisplaySettings); override;
|
class procedure SetDisplaySettings(const ACalendar: TCustomCalendar; const ASettings: TDisplaySettings); override;
|
||||||
end;
|
end;
|
||||||
@ -116,6 +117,33 @@ begin
|
|||||||
Result := EncodeDate(WYear,WMonth,WDay);
|
Result := EncodeDate(WYear,WMonth,WDay);
|
||||||
end;
|
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);
|
class procedure TWin32WSCustomCalendar.SetDateTime(const ACalendar: TCustomCalendar; const ADateTime: TDateTime);
|
||||||
var
|
var
|
||||||
ST: SystemTime;
|
ST: SystemTime;
|
||||||
|
Loading…
Reference in New Issue
Block a user