MFC 按钮改变编辑框文本
对话框中有一个文本编辑控件,一个应用按钮,如何设置文本框的整数范围(不用向导),当超过范围提示,并且编辑框的值设为未改前的值。我也是这么想的,但是好像不行样,能给点代码吗...
对话框中有一个文本编辑控件,一个应用按钮,如何设置文本框的整数范围(不用向导),当超过范围提示,并且编辑框的值设为未改前的值。
我也是这么想的,但是好像不行样,能给点代码吗? 怎么获得原来的值呢,我写出来原来的值也变化了呢。。。 二楼的,怎么添加触发消息 展开
我也是这么想的,但是好像不行样,能给点代码吗? 怎么获得原来的值呢,我写出来原来的值也变化了呢。。。 二楼的,怎么添加触发消息 展开
5个回答
展开全部
你可以定义一个成员变量srcint来存放原来的值
然后在单击按钮的事件中写获得控件的值,然后判断是不是在一个范围,如果是就把获得的值赋给srcint,否则就把srcint的值显示到控件上 SrcInt是成员变量并且初始化为11;可以在构造函数中初始化
int m_EditInt;//跟编辑框关联的整形变量
下面的代码写在按钮事件中//需要输入11-99的整数
CMyDialog::OnButton1()
{
if(!UpdateData())
{
return;
}
if (m_EditInt< 10 || m_EditInt > 100) {
m_EditInt = SrcInt;
}else
{
SrcInt = m_EditInt;
}
UpdateData(FALSE);
}如你不想关联变量可以这么用
CMyDialog::OnButton1()
{
CString str;
GetDlgItem(IDC_EDIT1)->GetWindowText(str);
int m_EditInt = atoi(str);
if (m_EditInt< 10 || m_EditInt > 100) {
m_EditInt = SrcInt;
}else
{
SrcInt = m_EditInt;
}
str.ForMat("%d",m_EditInt);
GetDlgItem(IDC_EDIT1)->SetWindowText(str);
}
然后在单击按钮的事件中写获得控件的值,然后判断是不是在一个范围,如果是就把获得的值赋给srcint,否则就把srcint的值显示到控件上 SrcInt是成员变量并且初始化为11;可以在构造函数中初始化
int m_EditInt;//跟编辑框关联的整形变量
下面的代码写在按钮事件中//需要输入11-99的整数
CMyDialog::OnButton1()
{
if(!UpdateData())
{
return;
}
if (m_EditInt< 10 || m_EditInt > 100) {
m_EditInt = SrcInt;
}else
{
SrcInt = m_EditInt;
}
UpdateData(FALSE);
}如你不想关联变量可以这么用
CMyDialog::OnButton1()
{
CString str;
GetDlgItem(IDC_EDIT1)->GetWindowText(str);
int m_EditInt = atoi(str);
if (m_EditInt< 10 || m_EditInt > 100) {
m_EditInt = SrcInt;
}else
{
SrcInt = m_EditInt;
}
str.ForMat("%d",m_EditInt);
GetDlgItem(IDC_EDIT1)->SetWindowText(str);
}
展开全部
你先把原来的值用一个变量保存在pretemp中,
然后在你的编辑框写完,在点击完成按钮时,在按钮的响应函数里面,判断其编辑框的值是否符合你的范围。
如果不符合,把pretemp赋给编辑框的关联值即可
如果楼主不知道怎么给按钮添加响应函数,建议看看MFC的相关书,应该不是很难,其实双击按钮,就可以进去其响应函数里面
然后在你的编辑框写完,在点击完成按钮时,在按钮的响应函数里面,判断其编辑框的值是否符合你的范围。
如果不符合,把pretemp赋给编辑框的关联值即可
如果楼主不知道怎么给按钮添加响应函数,建议看看MFC的相关书,应该不是很难,其实双击按钮,就可以进去其响应函数里面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要添加正在改变的触发消息。
用向导更方便。然后把代码加在里面。
你不想用的话,手动添加消息映射吧
------------------
ON_EN_CHANGE(EDIT控件名,响应方法)
其它的自己搞吧,用CTRL+W加多方便。。。
用向导更方便。然后把代码加在里面。
你不想用的话,手动添加消息映射吧
------------------
ON_EN_CHANGE(EDIT控件名,响应方法)
其它的自己搞吧,用CTRL+W加多方便。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将文本框关联一个int的变量,在类向导中可以设置文本框的数值范围
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
现在我手上没有VC
好象在为该控件申明一个变量的时候有设置范围的 自己找一下 我做过
好象在为该控件申明一个变量的时候有设置范围的 自己找一下 我做过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询