wxTextValidator的valPtr的作用是什么?

What is valPtr in ctor of wxTextValidator good for?

本文关键字:是什么 valPtr wxTextValidator 作用      更新时间:2023-10-16

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

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

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

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

我正在使用wxWidgets 2.8.12,从文档中我认为myValue_变量将接收文本控件的验证内容,但这在我的应用程序中没有发生。

我做错了什么还是valPtr参数接收文本控件的内容?

如果调用wxValidator::Validate或wxValidator::TransferFromWindow, myvalue_变量应该接收输入的值。如果您使用默认的OnOK()处理程序关闭对话框,则会自动执行此操作。否则你就得自己动手了。

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