获取一个EDIT控件的值
UINT BackCityDlg::GetRedNum()
{
GetDlgItem(IDC_EDIT1)->GetWindowText(m_cst_redNum);
UINT rednum = _wtoi(m_csedit_rednum.GetBuffer());
return rednum;
}我单独调用这个方法是可以获取值的,但是当我在一个timer里调用的时候为什么就不行了呢?
写工程都两天都没怎么合眼了,第一次碰到这种问题。
我不明白,请告诉我一下,谢谢。
UINT BackCityDlg::GetRedNum()
{
GetDlgItem(IDC_EDIT1)->GetWindowText(m_cst_redNum);
UINT rednum = _wtoi(m_csedit_rednum.GetBuffer());
return rednum;
}我单独调用这个方法是可以获取值的,但是当我在一个timer里调用的时候为什么就不行了呢?
写工程都两天都没怎么合眼了,第一次碰到这种问题。
我不明白,请告诉我一下,谢谢。
在timer里怎么个不行法
UINT rednum = _wtoi(m_csedit_rednum.GetBuffer());
return rednum;---》//GetBuffer要记得释放,但这里不需要
GetDlgItem(IDC_EDIT1)->GetWindowText(m_cst_redNum);
UINT rednum = _wtoi(m_cst_redNum);
return rednum;
而且用timer调用也确实执行了,一模一样的方法为什么仅仅是调用方法位置的不同会出现如此的差异呢? 再说一个获取控件的方法在程序的任何位置都是可以的啊。 那个m_cst_redNum是一个CString类型的edit控件变量,不可能出现问题的,
到底是为什么呢?
额,可能真是这个问题,我是在主程序的领空设置的timer,那该如何解决呢?
=====================
你在主程序中用定时器,那么GetDlgItem(IDC_EDIT1)->GetWindowText(m_cst_redNum);所取的就是在主程序中的控件IDC_EDIT1,你主程序中应该没有这个控件吧。
一种方法是将定时器改到IDC_EDIT1控件所在的类中。
另一种是先取得BackCityDlg类的指针,假设为pDlg;然后写作:pDlg->GetDlgItem(....);
当我用类指针后竟然无论是窗口类还是脚本类里都无法获取值了,兔兔们快来救急。。
就是纯CPP文件,这个类里面写的脚本流程。
怎么办呢。我实在是不知道怎么弄了
关键就是在A类中调用B类中获取控件值的函数,
A类是我从以前写的工程中复制过来添加到现在工程里面的,B类是一个窗口类。
这样算明白了吗?