@KTG

Delphi. Как из события с message CM_MOUSEENTER вызывать событие с CM_MOUSEENTER?

Есть 2 компонентка - DBGrid и Panel.
Поверх DBGrid находиться Panel c Visible:=false;
При наведении на DBGrid Panel появляется.
Теперь нужно убирать её когда курсор мыши уводиться с DBGrid.

Использую CM_MOUSELEAVE, получаю LParam, сравниваю с handler DBGrid и убираю панель.
Но!
Т.к. панель это уже другой объект, то при переходе мышки на панель она исчезает, хотя курсор мыши фактически еще находится в границах DBgrid'а.

Как в CM_MOUSELEAVE исключить исчезновение панели, при переходе на неё?

Думал тут же проверять CM_MOUSEENTER, но так и не понял как вызывать из события с CM_MOUSEELAVE.
  • Вопрос задан
  • 252 просмотра
Пригласить эксперта
Ответы на вопрос 1
@KTG Автор вопроса
Получаю handler текущего компонента, без извращений с CM_MOUSEENTER. Просто в момент ухода с Grid'а смотрю что под курсором:
var
  MouseCoord : TPoint;
begin
GetCursorPos(MouseCoord);
integer(FindDragTarget(MouseCoord, false)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы