【发布时间】:2016-04-03 13:43:20
【问题描述】:
我有一个 wxDialog,里面有一些 wxTextCtrl。 当这些 wxTextCtrl 获得和失去焦点时,我需要连接事件。具体来说,每个 wxTextCtrl 都有一个默认的 Text。当用户触摸它进行写入时,默认文本消失,允许用户从头开始书写。这部分是针对 wxEVT_SET_FOCUS 的。
然后,如果用户没有写东西并离开 wxTextCtrl,我再次设置默认文本。这部分是针对 wxEVT_KILL_FOCUS 的。 但是,我无法将 textctrl 与事件联系起来。我已经试过了:
Connect( wxTXTCRLID , wxEVT_SET_FOCUS , wxFocusEventHandler(MyDialog::OnFocus) , nullptr , this );
这也是:
Bind( wxEVT_SET_FOCUS , &MyDialog::OnFocus , this , wxTXTCRLID );
还有一个事件表:
BEGIN_EVENT_TABLE( MyDialog , wxDialog )
EVT_SET_FOCUS( MyDialog::OnFocus )
END_EVENT_TABLE()
还有这个:
BEGIN_EVENT_TABLE( MyDialog , wxDialog )
EVT_COMMAND_SET_FOCUS( wxTXTCRLID , MyDialog::OnFocus )
END_EVENT_TABLE()
在事件表示例中,我确保在头文件中声明它。 但这些都不起作用。 我的操作系统是 Ubuntu 14.04 如果您需要更多信息,请告诉我。
【问题讨论】:
标签: c++ ubuntu events focus wxwidgets