Я использую Delphi 7, и у меня есть TFrame
(размещенный TForm
) с тремя панелями, которые охватывают всю поверхность, в макете «вверх тормашками». Панели должны быть изменены по размеру, поэтому я мог бы использовать 2 сплиттера, но я хочу дать лучший пользовательский интерфейс: я хотел бы иметь один «размерный захват» в T-соединении. Этот «дескриптор» должен появиться только тогда, когда пользователь навешивает область соединения.Delphi, Как показать наложенное управление движением мыши
Итак, вот мой вопрос: какой лучший способ иметь контрольное шоу над любым другим движением мыши? TFrame.OnMouseMove
не вызываются (очевидно), потому что внутри есть панели внутри и, возможно, любые другие элементы управления внутри них. Я также очень хочу сохранить весь код внутри фрейма.
Я вижу 2 решения:
- установить локальный хук мыши и пойти с ним. Но могут возникнуть некоторые проблемы с производительностью (или нет?)
- Ручка
TApplication.OnMessage
внутри рамы, но при добавлении какой-либо другой код для того, чтобы имитировать «цепочку» обработчиков событий. Это связано с тем, что другим частям приложения может потребоваться обработать TApplication.OnMessage для своих целей.
Любая другая идея?
Спасибо вам
Я не уверен, если я получаю вашу проблему правильно, но вы не можете просто обрабатывать 'OnMouseMove' для каждой внутренней панели у вас есть? Это может быть только один общий обработчик событий. – TLama
@TLama Я получил ваше мнение, но эти панели будут полны других внутренних элементов управления, некоторые из которых будут созданы или размещены во время выполнения, и я не знаю их заранее. – yankee
А, конечно, конечно. Кому нужны пустые панели. Глупый я :-) – TLama