我的程序中有一个 listctrl,它有两列填充了很多元素。当用户通过右键单击其中一个时,我想知道该元素位于两列中的哪一列。
我的问题 - GetColumn() 函数返回 -1(又名未找到)或零 -> 即使我点击了第二列(应该是 1 - 它们从 0 开始)。
我查看了 sample/listctrl,但即使在那里,即使我单击另一列,GetColumn() 也总是返回 1。
我在 Windows 7 上使用 wxWidgets 2.9.5。
这里我认为应该工作但没有工作的代码:
Connect(ID_LISTBOX,wxEVT_LIST_ITEM_RIGHT_CLICK,wxListEventHandler(X::OnRightClick));
....
void X::OnRightClick(wxListEvent& event)
{
int a = event.GetColumn(); // returns - 1 aka not found
int b = wxListItem(event.GetItem()).GetColumn(); // returns zero regardless of the column
event.Skip();
}
如何找出我的元素在哪一列?
谢谢