right clicking outside any column sets the column in the list event to -1, not the last column

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14554 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-03-11 12:32:56 +00:00
parent 0fe5e8fea0
commit 62313c2788
3 changed files with 12 additions and 5 deletions

View File

@@ -37,7 +37,7 @@ functions that take a wxListEvent argument.
\twocolitem{{\bf EVT\_LIST\_KEY\_DOWN(id, func)}}{A key has been pressed.}
\twocolitem{{\bf EVT\_LIST\_INSERT\_ITEM(id, func)}}{An item has been inserted.}
\twocolitem{{\bf EVT\_LIST\_COL\_CLICK(id, func)}}{A column ({\bf m\_col}) has been left-clicked.}
\twocolitem{{\bf EVT\_LIST\_COL\_RIGHT\_CLICK(id, func)}}{A column ({\bf m\_col}) has been right-clicked.}
\twocolitem{{\bf EVT\_LIST\_COL\_RIGHT\_CLICK(id, func)}}{A column ({\bf m\_col}) (which can be $-1$ if the click occured outside any column) has been right-clicked.}
\twocolitem{{\bf EVT\_LIST\_COL\_BEGIN\_DRAG(id, func)}}{The user started resizing a column - can be vetoed.}
\twocolitem{{\bf EVT\_LIST\_COL\_DRAGGING(id, func)}}{The divider between columns is being dragged.}
\twocolitem{{\bf EVT\_LIST\_COL\_END\_DRAG(id, func)}}{A column has been resized by the user.}

View File

@@ -631,7 +631,10 @@ void MyListCtrl::OnColClick(wxListEvent& event)
void MyListCtrl::OnColRightClick(wxListEvent& event)
{
int col = event.GetColumn();
SetColumnImage(col, -1);
if ( col != -1 )
{
SetColumnImage(col, -1);
}
wxLogMessage( wxT("OnColumnRightClick at %d."), event.GetColumn() );
}

View File

@@ -435,7 +435,7 @@ protected:
wxCursor *m_resizeCursor;
bool m_isDragging;
// column being resized
// column being resized or -1
int m_column;
// divider line position in logical (unscrolled) coords
@@ -2022,8 +2022,9 @@ void wxListHeaderWindow::OnMouse( wxMouseEvent &event )
int xpos = 0;
// find the column where this event occured
int countCol = m_owner->GetColumnCount();
for (int col = 0; col < countCol; col++)
int col,
countCol = m_owner->GetColumnCount();
for (col = 0; col < countCol; col++)
{
xpos += m_owner->GetColumnWidth( col );
m_column = col;
@@ -2044,6 +2045,9 @@ void wxListHeaderWindow::OnMouse( wxMouseEvent &event )
m_minX = xpos;
}
if ( col == countCol )
m_column = -1;
if (event.LeftDown() || event.RightUp())
{
if (hit_border && event.LeftDown())