Как отключить MouseWheel, если мышь не находится над VirtualTreeView (TVirtualStringTree)

TVirtualStringTree ведет себя по умолчанию, если он сфокусирован - он будет прокручиваться на колесе мыши, даже если мышь не находится над управлением (за исключением, если он находится над другим TVirtualStringTree).

Есть ли быстрый и элегантный способ отключить это поведение?

Я уже сделал это с помощью события OnMouseWheel и проверки с помощью PtInRect if Mouse. CursorPos, если он находится над элементом управления, но у меня есть чувство, что есть лучший способ сделать то же самое, потому что таким образом мне пришлось бы определять новое событие для каждого TreeView, который я добавляю, а также обрабатывать, когда фокусировать/разфокусировать элемент управления, поэтому я надеюсь, что должен быть лучший способ отключить это.

Итак, чтобы было понятно, я хочу, чтобы функция mousewheel работала как обычно, но только когда мышь находится над VirtualTreeView.

7
задан Coder12345 2 December 2011 в 02:15
поделиться