0

プログラムに 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();
}

要素がどの列にあるかを調べるにはどうすればよいですか?

ありがとう

4

1 に答える 1