_Vasilisk_,
да я уже посмотрел
#0 LMSELCHANGE(0x1a72828, 0) at include\customlistbox.inc:314
procedure TCustomListBox.LMSelChange(var TheMessage);
begin
if [csLoading,csDestroying,csDesigning]*ComponentState<>[] then exit;
DoSelectionChange(FLockSelectionChange = 0);
end;
сообщение приходит отсюда
interfaces\win32\
win32callback.inc (
2116,45) LBN_SELCHANGE: LMessage.Msg := LM_SELCHANGE;
Я так понимаю, всё происходит в недрах Windows, а не LCL. И решение пока не вижу.