"Правый" клик на сплиттере
От: newb  
Дата: 14.03.05 07:02
Оценка:
В моем view есть tree и list контролы, разделенный сплиттером:
m_ctrlVSplitter.Create(m_hWnd, rcDefault, NULL, WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN);
m_ctrlVSplitter.SetSplitterExtendedStyle(0);

// создание ListView
m_lv.Create(m_ctrlVSplitter, rcDefault, 0, WS_CHILD|WS_VISIBLE|LVS_REPORT|WS_CLIPSIBLINGS|WS_CLIPCHILDREN, 0, IDC_LST);
m_tv.Create(m_ctrlVSplitter, rcDefault, 0, TVS_SHOWSELALWAYS | TVS_HASBUTTONS | TVS_LINESATROOT 
                                                       | TVS_HASLINES | TVS_EDITLABELS|TVS_SHOWSELALWAYS 
                                                       | TVS_DISABLEDRAGDROP | WS_CHILD | WS_VISIBLE, 0, IDC_TREE);
m_ctrlVSplitter.SetSplitterPanes(m_lv, m_tv);


И обработчик WM_CONTEXTMENU:
LRESULT OnContextMenu(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
    int b = m_ctrlVSplitter.GetActivePane();
    if (b)
    { ::MessageBox(0, _T("OnContextMenu::Tree"), _T(""), 0);
    }
    else
    { ::MessageBox(0, _T("OnContextMenu::List"), _T(""), 0);
    }
    return 0;
}

Хотелось бы отследить "правый" клик на самом сплиттере (когда курсор меняется на "стрелочки") и ничего не делать в этом случае.
Извлечь координаты из lParam и проверка их на вхождение в прямоугольник сплиттера не работает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.