찾다

 >  Q&A  >  본문

c++ - wxWidGets 中TextCtrcl 实现字符过滤,只接收数字0-9和A-F(或a-f)

文本控件实现16进制数据输入(标志符“0x”除外)过滤器wxTextValidator可以实现只接受数字,A-F不知道如何实现,看了wxTextValidator几种过滤格式,其中wxFILTER_INCLUDE_LIST,不知道如何添加字符列表,一知半解,希望高手指点一下!其中
TextCtrl4 = new wxTextCtrl(this, ID_TEXTCTRL4, _T("5A"), wxDefaultPosition, wxSize(43,23), 0, wxTextValidator(wxFILTER_DIGITS ), _T("ID_TEXTCTRL4"));
可以直接实现非数字字符过滤,对wxFILTER_INCLUDE_LIST,看了类的说明所写程序如下:
wxTextValidator tv(wxFILTER_INCLUDE_LIST);//
wxArrayString s1;

s1.Add(_T("0"));
s1.Add(_T("1"));
tv.SetIncludes(s1);
TextCtrl4 = new wxTextCtrl(this, ID_TEXTCTRL4, _T("5A"), wxDefaultPosition, wxSize(43,23), 0,tv, _T("ID_TEXTCTRL4"));

测试一下是否只允许“0”和“1”,但是实现不了

大家讲道理大家讲道理2805일 전625

모든 응답(0)나는 대답할 것이다

답장 없음
  • 취소회신하다