2009-05-19 4 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 _ UP 이벤트 텍스트 제어를위한 LEFT _ DOWN 및 wxEVT _ LEFT _을 처리하기 위해 시도? 정적 메시지 맵에 추가하거나 핸들러 메서드에 대해 Connect()을 호출하십시오.

편집 :

모든 이벤트는 클래스의 문서에 나와있는 것은 아닙니다. wxTextCtrl to wxControl to wxWindow에서 계층 구조로 올라와야합니다. 불행히도 어느 클래스에서도 마우스 이벤트에 대한 설명서를 찾을 수 없습니다. 명확하게 문서화되지 않은 경우에도 처리 할 수 ​​있어야합니다.

+0

아니요, http://docs.wxwidgets.org/2.8.4/wx_wxtextctrl.html에 나열된 이벤트가 표시되지 않습니다. wxMouseEvent 클래스를 통해 일반적으로 마우스 이벤트를 연결하는 이벤트입니까? 아니면 거기에 이벤트가 있습니까? GUI 디자이너를 위해 Code :: Blocks를 사용하고 있는데, 마우스의 이벤트 즉 "selected"또는 "activated"가 표시되지 않습니다. 거기서 어디로 가야합니까? 디자이너없이 코드를 작성하는 데 아무런 문제가 없습니다. 감사. –

+0

Connect() 호출 예제를 보여줄 수 있습니까? 연결 선은 다음과 같습니다. Connect (IS_TEXTCTRL1, wxEVT_LEFT_DOWN, (wxObjectEventFunction) & MyClass :: OnTextMouseDown); 모든 것이 잘 컴파일되지만 MyClass :: OnTextMouseDown은 결코 호출되지 않습니다. 도와 주셔서 감사합니다. –

+0

IS_TEXTCTRL1은 ID_TEXTCTRL1이어야합니다. –

관련 문제