Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Непонятки с HitTest и правым кликом в окне TreeCtr 
:(
    Опции темы
AndreySol
Дата 8.10.2008, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: 1
Всего: 1



Создаю окно дерева со следующими стилями: VS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_SHOWSELALWAYS
и заполняю эл-тами.

Если пытаюсь обработать в OnNotify щелчек правой кнопкой мыша
Код

NMHDR* lpNMHDR = (NMHDR*)lParam;
if(lpNMHDR->code == NM_RCLICK)
{
    if(lpNMHDR->hwndFrom == m_TreeCtrl->GetSafeHwnd())
    {
        NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)lpNMHDR;

        CPoint ptTC;
        GetCursorPos(&ptTC);
        m_TreeCtrl->ScreenToClient(&ptTC);
        UINT uFlags = 0;
        HTREEITEM IsItem = m_TreeCtrl->HitTest(ptTC, &uFlags);
        if(IsItem != NULL)
        {    // попали в итем

        }
        else
        {    // попали в молоко

        }
    }
}

то всегда получается что попадаем в итем, даже если щелкнуть справа от его текста в молоко.
Да и сам итем подсвечивается при правом щелчке как при попадании в итем, так и при попадании в молоко справа от текста итема.
Такое ощущение, что для правого щелчка в TreeCtrl действует что-то вроде стиля FULLROWSELECT !
С этим можно как-то бороться ? Что бы получить нормальное разделение результата правого щелчка - или в итем или в молоко ?

PM MAIL   Вверх
Earnest
Дата 8.10.2008, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Результат попадания возвращается в переменной flags - там полная инфа о том, куда попали. А итемом, действительно, считается полная строка. Варианты флагов смотри в описании структуры TVHITTESTINFO.


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0548 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.