2016-07-07 11 views
0

いずれかのキーを押してトリガーするオブジェクトを持つオープンソースツールキット(VTK)を使用しています。アイデアは自分のクラスの実装を上書きすることですが、C++/CLIでそれを行う方法を理解することはできません。C++/CLIイベントを使用した空のC++実装へのフック

これは私が持っているものですが、オブジェクトにフックする方法を理解できません。 VTKオブジェクトにフッキング

delegate void myEventHandler(vtkObject * sender, EventArgs^e); 
event myEventHandler^ LeftButtonPressEvt; 

LeftButtonPressEvt += gcnew myEventHandler(&MyClass::MyModifiedOnKeyPress); 

void MyModifiedOnKeyPress(vtkObject * sender, EventArgs^e) 
{ 
    //this should be called whenever the button is pressed 
} 

はこのようなものになります。

vtkObject->OnKeyPress += gcnew myEventHandler(&MyClass::Pick); 

をこの関数が理にかなって左のオペランドであるというエラーが返されますが、私はこれは次のようになり方法を見つけ出すカントイベントにフック。

答えて

0

非静的メソッドの場合、デリゲートが指すオブジェクトを指定する必要があります。

vtkObject->OnKeyPress += gcnew myEventHandler(this, &MyClass::Pick); 
//           ^^^^ 

(つまり、私はあなたが持っている正確に何の問題を理解していない、問題が解決しない場合。あなたは、エラーメッセージを取得している場合は、エラーを説明していない、&をコピーしますエラーメッセージは何ですか?

+0

悲しいことに、これは説明するのが難しいエラーメッセージはありません。 – DumbQuesionGuy314

+0

多分あなたは何が起こっているかをもっと冗長に記述することができます。あなたは何をしようとしていますか、あなたの期待される結果は何ですか?あなたの実際の結果は何ですか? –

関連する問題