Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > CtabCtrl


Автор: eniac 10.7.2009, 12:48
user posted image

Автор: Earnest 10.7.2009, 13:00
Варианты:
1) Уведомление NM_DBLCLK
2) Переопределение OnLButtonDblClk
3) PreTranslateMessage на родительском окне

Автор: eniac 10.7.2009, 13:39
Я забыл написать, что у меня есть свой собственый класс для таба и мне нужно ловить клик мышью внутри класса.

Переопределение OnLButtonDblClk - я делал, но оно срабатывает только для закладок, но не для необходимой области.

вторые 2 варианта я так понял должны роботать в родительском окне...ф

Автор: eniac 10.7.2009, 17:47
Я с помощю программы spy посмотрел что в ету облатсь прихот только сообщение WM_NCHITTEST, ну я переопределил метод OnNcHitTest(CPoint point), но как мне теперь определить double Click?

Автор: Earnest 11.7.2009, 05:30
Как переопределил? Логично предположить, что если возвращаемое значение такое же как на закладке, то и отзыв будет аналогичный...
NM_DBLCLK можно ловить и в самом классе, с помощью reflecting, но вряд ли оно приходит, если нет перехвата дабл-клика (т.к. уведомление вторично). Странно, что клик в этой области не приходит... Это ведь область tab-control. Нужно поисследовать Спаем. Возможно, приходит простой клик? И что возвращает станартный хит-тест?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)