我正在用c++编写wxWidgets程序。它有几个单行wxtextctrl在它,我需要禁用它们,以便用户不能在其中输入文本。稍后,当单击菜单项时,我希望再次启用它们。我该怎么做呢?
由于wxTextCtrl
是wxWindow
的子类,它包含(可能被覆盖)wxWindow
的虚拟方法Enable
,可以在这里找到该方法的文档,该方法根据布尔参数(默认为true
- enable input)控制窗口是否为用户输入启用。此外,还有一个方便的非虚拟Disable
方法,它被定义为等同于Enable(false)
。
你可以像这样使用它来禁用文本控制(假设你保存指针到你的wxTextCtrl
实例在你的窗口类的m_pTextCtrl
成员):
m_pTextCtrl = new wxTextCtrl(...);
// ...
m_pTextCtrl->Disable();
,并像这样在菜单项事件处理程序中启用它:
m_pTextCtrl->Enable();