MFC 按钮改变编辑框文本

对话框中有一个文本编辑控件,一个应用按钮,如何设置文本框的整数范围(不用向导),当超过范围提示,并且编辑框的值设为未改前的值。我也是这么想的,但是好像不行样,能给点代码吗... 对话框中有一个文本编辑控件,一个应用按钮,如何设置文本框的整数范围(不用向导),当超过范围提示,并且编辑框的值设为未改前的值。
我也是这么想的,但是好像不行样,能给点代码吗? 怎么获得原来的值呢,我写出来原来的值也变化了呢。。。 二楼的,怎么添加触发消息
展开
 我来答
lz3272
推荐于2016-01-08 · TA获得超过333个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:351万
展开全部
你可以定义一个成员变量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);
}
chenliehuo7
2009-07-22 · 超过14用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:33.2万
展开全部
你先把原来的值用一个变量保存在pretemp中,
然后在你的编辑框写完,在点击完成按钮时,在按钮的响应函数里面,判断其编辑框的值是否符合你的范围。
如果不符合,把pretemp赋给编辑框的关联值即可

如果楼主不知道怎么给按钮添加响应函数,建议看看MFC的相关书,应该不是很难,其实双击按钮,就可以进去其响应函数里面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
80676535
2009-07-22 · TA获得超过477个赞
知道小有建树答主
回答量:1316
采纳率:0%
帮助的人:869万
展开全部
你要添加正在改变的触发消息。

用向导更方便。然后把代码加在里面。

你不想用的话,手动添加消息映射吧

------------------
ON_EN_CHANGE(EDIT控件名,响应方法)

其它的自己搞吧,用CTRL+W加多方便。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友87b4f1c69
2009-07-22 · TA获得超过1218个赞
知道小有建树答主
回答量:760
采纳率:0%
帮助的人:969万
展开全部
将文本框关联一个int的变量,在类向导中可以设置文本框的数值范围
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuqangy
2009-07-23 · TA获得超过233个赞
知道答主
回答量:136
采纳率:0%
帮助的人:101万
展开全部
现在我手上没有VC
好象在为该控件申明一个变量的时候有设置范围的 自己找一下 我做过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式