什么是valxtr在wxTextValidator的ctor中有用吗?

时间:2013-04-03 11:00:42

标签: c++ validation user-interface wxwidgets

我正在使用简单的数字文本验证器 wxTextValidator 以及 wxTextControl 。我想知道第二个参数有什么用处:

wxTextValidator(long style = wxFILTER_NONE, wxString* valPtr = NULL)

我只是将引用传递给成员变量:

myTextControl_->SetValidator( wxTextValidator(wxFILTER_NUMERIC, &myValue_) );

我正在使用 wxWidgets 2.8.12 ,从文档中我认为 myValue _ 变量会收到文本控件的验证内容,但这不会发生在我的申请中。

我做错了什么或valPtr参数是否收到文本控件的内容?

2 个答案:

答案 0 :(得分:1)

如果调用wxValidator :: Validate或wxValidator :: TransferFromWindow,myvalue_变量应该会收到输入的值。如果使用默认的OnOK()处理程序关闭对话框,则会自动发生这种情况。否则你必须自己做。

答案 1 :(得分:0)

Ravenspoint已经回答了最初的问题,但我只想补充说wxValidator可以用于验证或数据传输 - 或者同时用于两者。实际上,某些验证器(例如wxGenericValidator)仅用于数据传输(验证复选框或单选按钮没有多大意义!)。所以这个类的名称有点误导,因为它最多描述了它的一半,并且可能少于它的用途。