如何动态设置CEdit控件输入数据的范围 当然可以了,你给CEdit控件添加一个ON_EN_CHANGE 消息响应函数,在该函数种获得用户输入的内容,然后跟自己要定的范围比较,如果不在范围内就使用户输入无效就可以了,或者用MessageBox弹出提示框,说输入数据超出范围之类的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我界面上的控件特别多!是不是要为每个控件都添加响应函数?我的每一个控件都要用户输入数据,每个控件都和我自己定义的类A中的成员数据相对应,在类A中我已经定义了这些成员数据的最大最小值,我想用类A一次性为界面上的控件添加最大和最小值,然后,程序运行时利用DDX检验,行不行? 那你继承一下CEdit类,,然后在类里做一下限制,,比如写个传入范围的类函数: CMyEdit::SetBound(int min,int max) { . . . } void CInPage1::DoDataExchange(CDataExchange* pDX){ CPropertyPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPage1) DDX_Text(pDX, IDC_EDIT1, m_edit1); DDV_MinMaxDouble(pDX, m_edit1, 0., 1.); ...... DDX_Text(pDX, IDC_EDITn, m_editn); DDV_MinMaxDouble(pDX, m_editn, 0., 1.); //}}AFX_DATA_MAP}1.我的界面上控件很多(n个),每一个控件都有输入范围2.我建立的类A中的成员变量与这些控件一一对应,并且在类A中已经设定好最大最小值我想将类A中设定好的最大最小值直接传递给ClassWizard自动产生的DoDataExchange(CDataExchange* pDX)不知道,行不行? 给怎么做? //在DoDataExchange中DDV_MinMaxDouble(pDX, m_iEdit, m_dMin, m_dMax); //将范围设成double变量就行了啊,注意初始化你不有设定好的最大最小值吗,需要的时候赋值给m_dMin, m_dMax就行 要设置范围的话,直接在类向导里面每个EDIT控件给它定义一个变量,然后随便设置一下其范围内 to qingdragon ://在什么时候赋值呢? 你可以先给m_dMin, m_dMax初始化一个值(比如在构造函数中m_dMin=10.0; m_dMax=1000.0;)当你认为需要改变范围的时候,改变它们的值,这个是由你来控制啊//你不是问“能不能在程序中设置最大值和最小值?”吗 OnChar就可以了,楼主自己写一个不就完了吗 VS2010 如何使用DirectX SDK? VS2008 声明一个全局结构体 mfc access数据库连接 已知文件夹路径,怎么列出文件夹内所有图片文件 关于VC多次对同一文件和目录复制 如何象DELPHI里面 在窗口上实现panel效果,切换不同panel出来不同的控件组合 400分求助(贴2,100分)! 如何实现dll的license控制,可否提供样例 关于在弹出对话框中绘图的问题 奇怪的长度 程序开发-关于截获CListCtrl-非高手而勿近 结束EXCEL进程 应用程序因徨而“未响应”
CMyEdit::SetBound(int min,int max)
{
. . .
}
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPage1)
DDX_Text(pDX, IDC_EDIT1, m_edit1);
DDV_MinMaxDouble(pDX, m_edit1, 0., 1.); ...... DDX_Text(pDX, IDC_EDITn, m_editn);
DDV_MinMaxDouble(pDX, m_editn, 0., 1.); //}}AFX_DATA_MAP
}1.我的界面上控件很多(n个),每一个控件都有输入范围2.我建立的类A中的成员变量与这些控件一一对应,并且在类A中已经设定好最大最小值我想将类A中设定好的最大最小值直接传递给ClassWizard自动产生的DoDataExchange(CDataExchange* pDX)不知道,行不行? 给怎么做?
DDV_MinMaxDouble(pDX, m_iEdit, m_dMin, m_dMax); //将范围设成double变量就行了啊,注意初始化你不有设定好的最大最小值吗,需要的时候赋值给m_dMin, m_dMax就行
当你认为需要改变范围的时候,改变它们的值,这个是由你来控制啊//你不是问“能不能在程序中设置最大值和最小值?”吗