From d42c3fe93baab2f1a4bfd31c8aa02e91214ca64b Mon Sep 17 00:00:00 2001 From: Bart <9132501-flyingsheep@users.noreply.gitlab.com> Date: Wed, 22 Feb 2023 18:58:14 +0100 Subject: [PATCH] Win32: first attempt at implementing TListView.OnDataHint. Issue #30757. --- lcl/interfaces/win32/win32wscustomlistview.inc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lcl/interfaces/win32/win32wscustomlistview.inc b/lcl/interfaces/win32/win32wscustomlistview.inc index fe1abb4db1..d56f31c225 100644 --- a/lcl/interfaces/win32/win32wscustomlistview.inc +++ b/lcl/interfaces/win32/win32wscustomlistview.inc @@ -295,7 +295,18 @@ var end; end; end; - + + procedure HandleListViewOwnerDataHint(ALV: TCustomListViewAccess); + var + DataHintInfo: PNMLVCACHEHINT; + begin + debugln('HandleListViewOwnerDataHint'); + DataHintInfo := PNMLVCACHEHINT(LPARAM); + if not Assigned(DataHintInfo) or (not ALV.OwnerData) then + Exit; + ALV.DoOwnerDataHint(DataHintInfo^.iFrom, DataHintInfo^.iTo); + end; + begin Result := False; case Msg of @@ -312,6 +323,8 @@ begin end; LVN_ODFINDITEM: HandleListViewFindItem(TCustomListViewAccess(AWinControl)); + LVN_ODCACHEHINT: + HandleListViewOwnerDataHint(TCustomListViewAccess(AWinControl)); end; end; end;