我正在努力在wxTextCtrl上验证,我想让它不能输入某些字符(bcwyz),我尝试了:
wxTextValidator txtValidation( wxFILTER_EMPTY, &m_inputString );
txtValidation.SetCharExcludes("bcwyz");
m_inputTextBox = new wxTextCtrl( panel
, inputTextCtrlID
, ""
, wxDefaultPosition
, wxSize( 170, 20 )
, 0L
, txtValidation
, m_inputString );
m_inputTextBox->SetMaxLength( 20 );这不管用,我真的不明白。
发布于 2014-11-12 07:58:26
啊,样品不正确!
这一点:
// Now set a wxTextValidator with an explicit list of characters NOT allowed:
wxTextValidator textVal( wxFILTER_EMPTY|wxFILTER_EXCLUDE_LIST
, &g_data.m_string2 );应该是:
// Now set a wxTextValidator with an explicit list of characters NOT allowed:
wxTextValidator textVal( wxFILTER_EMPTY|wxFILTER_EXCLUDE_CHAR_LIST
, &g_data.m_string2 );发布于 2014-11-11 07:37:05
如果你使用SetCharExcludes(),你需要将wxFILTER_EXCLUDE_LIST指定为一个验证器风格(是的,我同意这是违反直觉的,也是糟糕的API,函数本身应该开启这个风格,或者至少在它不存在的时候大声抱怨)。
https://stackoverflow.com/questions/26852197
复制相似问题