В связи с косметическими соображениями приложение, которое я поддерживаю, использует древний компонент DevExpress, который предварительно давал свои текущие элементы управления сеткой (TdxMasterView, если вам интересно). То, что я хочу сделать, - это иметь всплывающую подсказку, отображающую текст текущей ячейки, однако этот компонент не имеет открытого события OnHint.Добавление функции OnHint к стороннему компоненту
Мне удалось получить функциональность, которая мне нужна, используя событие MouseMove, однако, поскольку код требует, чтобы он переводил курсор мыши в ячейку, а затем извлекал содержимое, я думаю, что это слишком много кода для события, которое (хотя он не чувствует себя слишком слабым в работе).
компонент сам по себе является производным от TCustomControl
, поэтому имеет основные Hint
и ShowHint
свойства, однако, что я думаю, что я хочу, чтобы иметь возможность либо выставить или добавить событие, которое будет срабатывать только тогда, когда подсказка пузырь будет показано (т.е. событие OnHint или эквивалент). Все, что мне нужно, чтобы получить правильный текст, это координаты X и Y мыши. Это, похоже, связано с TControlAction
, однако я не совсем уверен, как это работает, поскольку это не сразу видно с первого взгляда на код, и он не отображается компонентом.
Есть ли у кого-нибудь пример кода, где они достигли чего-то подобного? У меня есть доступ к базовому источнику, поэтому при необходимости его можно немного модифицировать (DevExpress никогда не выпустит обновление для этого кода, поэтому обычные риски для этого не применяются), но я бы предпочел работать с помощью вспомогательной функции , оконное сообщение или какой-либо декоратор, если это возможно.
Я полагаю, что другой вариант состоит в том, чтобы включить или отключить таймер, но это кажется немного сложным (если просто) решением.
Что говорит Devex об этом - они очевидные люди, которых нужно задавать? – MartynA
Обычно я согласен, но этот компонент настолько стар, что это будет вне их ранних поддерживаемых версий. Я знаю их только с их компонентами cxGrid, но это заранее. –