Есть форма и на ней - компонент TDrawGrid со свойством Align = alClient (то есть растянутый на всю клиентскую часть окна).
Есть такой код:
- Код: Выделить всё
procedure TTestForm.WMLButtonDown(var Message: TLMLButtonDown);
begin
inherited; // Здесь стоит брекпоинт
end;
- Код: Выделить всё
SendMessage(TestForm.Handle, WM_LBUTTONDOWN, 0, y*65536+x); // x и y - координаты "клика"
то функция WMLButtonDown вызывается, а если просто кликаю мышкой (сам) - то нет. То есть получается, между кликом мышкой и отправкой сообщения форме вызывается функция, которая определяет, что находится под курсором. Так? И что это за функция?
Что я хочу сделать: с помощью SendMessage посылать события, чтобы форма их обрабатывала, как будто это был настоящий пользователь: то есть если я шлю сообщения LBUTTONDOWN и LBUTTONUP в точку, где находится контрол, то должно вызываться событие OnClick этого контрола (пока вызывается OnClick формы).
Что я пропустил?