0
私は、wxPanelを拡張するValCtrlというクラスを作成しました。各インスタンスは、wxCheckBox、wxSlider、およびwxSpinCtrlを管理します。私は、イベントをValCtrlのメソッドに動的にバインドしています。wxSpinCtrlがイベントを生成しない
wxSliderとwxCheckBoxのイベント処理が機能していますが、wxSpinCtrlに問題があり、ハンドラが呼び出されていません。プログラムがコンパイルされて実行され、ドキュメントに十分なヘルプが見つかりませんでした。何か案は?ここで
は私のインスタンス化されている。ここで
linkCheckBox = new wxCheckBox(this, wxID_ANY, stim->name, wxPoint(-1,-1), wxSize(linkCheckBoxSX, defaultS));
slider = new wxSlider(this, wxID_ANY, 0, 0, 100, wxPoint(-1,-1), wxSize(sliderSX, sliderSY), wxSL_HORIZONTAL);
slider->SetRange(stim->minValue, stim->maxValue);
slider->SetValue(stim->value);
spinCtrl = new wxSpinCtrl(this, wxID_ANY, "0", wxPoint(-1,-1), wxSize(spinCtrlSX, spinCtrlSY));
spinCtrl->SetRange(stim->minValue, stim->maxValue);
spinCtrl->SetValue(stim->value);
は私のバインドされている。ここで
slider->Bind(wxEVT_SCROLL_THUMBTRACK, &ValCtrl::OnScroll, this);
slider->Bind(wxEVT_SCROLL_CHANGED, &ValCtrl::OnScroll, this);
spinCtrl->Bind(wxEVT_SPIN, &ValCtrl::OnSpin, this);
spinCtrl->Bind(wxEVT_COMMAND_TEXT_ENTER, &ValCtrl::OnEntered, this);
linkCheckBox->Bind(wxEVT_COMMAND_CHECKBOX_CLICKED, &ValCtrl::OnCheck, this);
は私のハンドラメソッドの宣言です:
void OnCheck(wxCommandEvent& event);
void OnEntered(wxCommandEvent& event);
void OnScroll(wxScrollEvent& event);
void OnSpin(wxSpinEvent& event);