MFC 按钮改变编辑框文本
展开全部
你可以定义一个成员变量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加多方便。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询