プログラムに listctrl があります。これには、多くの要素が取り込まれた 2 つの列があります。ユーザーが右クリックでそれらのいずれかをクリックすると、要素が2つの列のどちらにあるかを知りたいです。
私の問題 - GetColumn() 関数は -1 (見つかりません) またはゼロを返します -> 2 番目の列 (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();
}
要素がどの列にあるかを調べるにはどうすればよいですか?
ありがとう