MFC 按钮改变编辑框文本

2024-11-29 10:10:42
推荐回答(5个)
回答1:

你可以定义一个成员变量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);
}

回答2:

你先把原来的值用一个变量保存在pretemp中,
然后在你的编辑框写完,在点击完成按钮时,在按钮的响应函数里面,判断其编辑框的值是否符合你的范围。
如果不符合,把pretemp赋给编辑框的关联值即可

如果楼主不知道怎么给按钮添加响应函数,建议看看MFC的相关书,应该不是很难,其实双击按钮,就可以进去其响应函数里面

回答3:

你要添加正在改变的触发消息。

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

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

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

其它的自己搞吧,用CTRL+W加多方便。。。

回答4:

将文本框关联一个int的变量,在类向导中可以设置文本框的数值范围

回答5:

现在我手上没有VC
好象在为该控件申明一个变量的时候有设置范围的 自己找一下 我做过