Цитата(zss @ 9.6.2009, 14:16)
никогда под mfc не писал
я тебя помнится на сырцах видел не единожды в MFC'ном разделе. Ну ладно, проехали.
Цитата(zss @ 9.6.2009, 14:16)
но там и LeftButton не обрабатывается. Думаю обработка где-то выше
Все правильно, обработка и отсылка происходит CE, а вот дальнейшая обработка, как я понимаю, предоставлена целиком виджету, в данном случае QTreeView. Тебе нужно переопределить
void QAbstractItemView::mousePressEvent ( QMouseEvent * event ) [virtual protected] Что то вроде:
void MyTreeView::mousePressEvent(QMouseEvent* e)
{
if ((e->button() == Qt::RightButton) && (e->modifiers() == Qt::NoButton))
{
QMenu menu( this );
menu.addAction("Insert");
menu.addAction("Edit");
menu.addAction("Delete");
QAction* action = menu.exec(e->globalPos());
}
else
MyTreeView::mousePressEvent(e);
}
Код на работоспособность не проверял, но идея думаю должна быть понятна.