如何动态设置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就可以了,楼主自己写一个不就完了吗 RichEdit控件的郁闷问题 有没有可以用C# 或者C++调用的MSN API 资料和函数库呀? 程序打包中的问题!紧急求救 STLport和HWND的问题。 怎样读写一个文本文件的指定行? double向CString类型的转换 如何在VC中改变TAB的颜色? 请问Borland C++中可以直接用SDK函数吗? 用MCI作多媒体播放器,如何将图像显示在某指定的窗口中(内详)? 用CreateProcess创建的进程死活不隐藏 结束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就行
当你认为需要改变范围的时候,改变它们的值,这个是由你来控制啊//你不是问“能不能在程序中设置最大值和最小值?”吗