Как расширить стандартное поведение мыши узла TreeView (например, выбор, отслеживание в горячем режиме, расширение при двойном щелчке и т. Д.) По более широкой области узла? У меня есть пользовательский нарисованный узел, который имеет более широкую метку, чем он был бы, если бы он был нарисован системой, и он реагирует на действия мыши только тогда, когда курсор находится в пределах границ обычного узла.
Есть идеи?
Кстати, перехват TVM_GETITEMRECT и TVM_HITTEST не сработает.
Несколько слов о том, что я делаю: я разрабатываю дерево управления WinForms, которое обычно действует точно так же, как WinForms TreeView, но также позволяет добавлять специальные узлы, которые могут иметь собственные шрифты и цвета, применяемые к любым частям их ярлыки. Так что это своего рода «RichTreeView», который может, например, иметь узлы с выделенными жирным шрифтом отдельными словами в их тексте. При использовании некоторых тяжелых шрифтов метка узла может стать намного шире, чем обычная, но также и более узкой (что вызывает другую проблему подавления действий мыши), поэтому мой вопрос.