2009-05-19 7 views
4

ユーザーがwxTextCtrlをクリックしたときの簡単な処理方法はありますか?文書wxTextCtrlを読んだ後、クリックイベントやダブルクリックイベントがないことがわかりました。私は質問wxWidgets: Detecting click event on custom controlsからwxWidgetsの "クリック"イベントがないことを理解しているので、簡単なマウスダウンイベントがあります。簡単な方法でwxTextCtrlのクリックイベントを取得できますか?

例答:から

wx wiki

textCtrl->Connect(wxEVT_LEFT_DOWN, 
       wxMouseEventHandler(MyClass::OnClick), NULL, this); 

答えて

3

あなたはwxEVT _ LEFT _ DOWNwxEVT _ LEFT _ UPテキストコントロールのイベントを処理しようとしたことがありますか?静的メッセージマップに追加するか、ハンドラメソッドのためにConnect()を呼び出してください。

編集:

すべてのイベントは、クラスのドキュメントに記載されていません。 wxTextCtrlwxControlwxWindowから階層構造にも上がる必要があります。残念ながら、どちらのクラスでもマウスイベントのドキュメントを見つけることはできません。明確に文書化されていなくても、それらを扱うことは依然として可能であるはずです。

+0

いいえ、そのイベントはhttp://docs.wxwidgets.org/2.8.4/wx_wxtextctrl.htmlに掲載されていません。それらのイベントは、一般的にwxMouseEventクラスを介してマウスイベントをフックするか、そこにイベントがありますか?私は、GUIデザイナーのためにCode :: Blocksを使用しています。マウスのイベント、つまり「選択済み」または「有効化」は表示されません。どこから行くべきですか?私はデザイナーなしでコードを書いても問題ありません。ありがとう。 –

+0

Connect()コールの例を教えてもらえますか?接続線は次のようになります。Connect(IS_TEXTCTRL1、wxEVT_LEFT_DOWN、(wxObjectEventFunction)&MyClass :: OnTextMouseDown);すべてがコンパイルされますが、MyClass :: OnTextMouseDownは呼び出されません。助けてくれてありがとう。 –

+0

IS_TEXTCTRL1はID_TEXTCTRL1である必要があります –

関連する問題