以下两种方法实现wxTextCtrl只接收0-9的数字.
1. 使用wxTextValidator()函数
#include <wx/wx.h>
class MyApp:public wxApp
{
public:
virtual bool OnInit();
};
IMPLEMENT_APP(MyApp)
class MyFrame:public wxFrame
{
public:
MyFrame(const wxString& title);
};
bool MyApp::OnInit()
{
MyFrame* myframe = new MyFrame("HelloWorld");
myframe->Show();
return true;
}
MyFrame::MyFrame(const wxString& title):wxFrame(NULL,-1,title)
{
wxTextCtrl* text = new wxTextCtrl(this,wxID_ANY,"",wxDefaultPosition,wxDefaultSize,0,wxTextValidator(wxFILTER_DIGITS));
}
2. 从wxTextCtrl派生出新类,在新类中修改OnChar()函数.
#include <wx/wx.h>
class MyApp:public wxApp
{
public:
virtual bool OnInit();
};
IMPLEMENT_APP(MyApp)
class MyFrame:public wxFrame
{
public:
MyFrame(const wxString& title);
};
class MyTextCtrl:public wxTextCtrl
{
public:
MyTextCtrl(wxWindow* parent);
virtual void OnChar(wxKeyEvent& event);
};
bool MyApp::OnInit()
{
MyFrame* myframe = new MyFrame("HelloWorld");
myframe->Show();
return true;
}
MyFrame::MyFrame(const wxString& title):wxFrame(NULL,-1,title)
{
MyTextCtrl* text = new MyTextCtrl(this);
}
MyTextCtrl::MyTextCtrl(wxWindow* parent):wxTextCtrl(parent,wxID_ANY)
{
Connect(wxEVT_CHAR,wxKeyEventHandler(MyTextCtrl::OnChar),NULL,this);
}
void MyTextCtrl::OnChar(wxKeyEvent& event)
{
const int keyCode = event.GetKeyCode();
if (keyCode >= '0' && keyCode <= '9')
{
// Accept a number
event.Skip();
}
// Accept some other keys
switch (keyCode)
{
case WXK_BACK :
case WXK_LEFT :
case WXK_RIGHT :
case WXK_TAB :
case WXK_DELETE :
case WXK_END :
case WXK_HOME :
event.Skip();
break;
}
}
相关推荐
Javascript判断是否有ActiveX控件的两种方法,在网页中使用ActiveX控件的添加方法。
MFC EditControl控件实现字符输入过滤。例子中包含了Edit输入Window文件名时,对非法字符的过滤;仅输入正数、正负数;以及自定义添加多个字符的过滤。对于其他字符过滤设计,可参考该demo思路。VS2010 Unicode
c# winform textbox控件只能输入数字的几种方法
MFC子线程中更新控件内容的两种办法 MFC子线程中更新控件内容的两种办法
vb6截图的两种方法(用line控件和shape控件,类似于qq截图)
VB6应用程序的控件外观比较难看,这是改为Win xp 和 Win7控件风格的两种方法的工程代码。
支付宝财付通安全控件输入 用于支付宝和财付通安全控件输入内容
一般这种情况有两种解决办法,一种是用下拉列表框提供输入的选择,这种方法有很大的缺点:需要用户点击鼠标,弹出下拉框选择输入,比较麻烦;另外如果数据较多,用户选择数据的时间要超过了输入的时间,反而降低了...
在Excel中利用日期控件输入日期...
由于QT没有类似VC的IP地址控件,使用正则表达式和输入掩码实现类似效果的IP输入控件。QT Creator2.8.0 Based on Qt 4.8.4,Win7平台编译通过
车牌号码输入控件,通过点击输入简称、字母、数字,可自定义简称
c#常用控件的属性方法, 1、窗体 2、Label 控件 3、TextBox 控件 4、RichTextBox控件 5、NumericUpDown 控件 6、Button 控件 7、GroupBox 控件 8、RadioButton控件 9、CheckBox 控件 10、ListBox 控件 11、...
Javascript密码输入控件Javascript密码输入控件Javascript密码输入控件Javascript密码输入控件Javascript密码输入控件Javascript密码输入控件
实现EDIT控件限制输入 实现EDIT控件限制输入 实现EDIT控件限制输入
但是这些控件仅仅是好看,在很多业务系统中,操作员更希望所有的信息都是靠键盘输入,这样的输入速度,比一会儿用键盘,一会儿用鼠标快很多。本例是一个可以动态配置日期/时间输入项的键盘时间输入控件。支持:1、...
C#实现回车光标自动跳到下一个控件的几种方法
U8开发 U8过滤栏目列表控件开发手册
需要数据库配合的例子,Delphi使用数据控件输入和修改数据,例子中的数据库文件在Database文件夹中,显示数据报表和修改原有数据是本例演示的主要操作,适合刚接触Delphi数据库编程的新手,来学习一下如何在Delphi中...
MSComm 控件提供下列两种处理通讯的方式
VC多线程中控制界面控件的几种方法 我正用得着 觉得不错 和大家分享