在MFC的编辑框中放入负整数值?

在MFC的编辑框中放入负整数值?,mfc,Mfc,如何在MFC中的编辑框中放入负整数值 我尝试使用Cstring,然后使用_aoti()将其更改为整数。谢谢您的帮助。我找到了一种在编辑框中输入负数的方法。 下面是下面的代码 //add a macro #define INVALID_INT_MSG_EX L"Enter an integer between %d and %d." //declare a global variable int flag_for_negative_numbers = 0 void CTouchPan

如何在MFC中的编辑框中放入负整数值


我尝试使用Cstring,然后使用_aoti()将其更改为整数。谢谢您的帮助。我找到了一种在编辑框中输入负数的方法。 下面是下面的代码

//add a macro 

#define INVALID_INT_MSG_EX  L"Enter an integer between %d and %d."

//declare a global variable 
 int flag_for_negative_numbers = 0

void CTouchPanelModule::OnEnChangeTpTempValue()
{
    UpdateData(true);
    if (editBoxVariable_value == _T('-') && (flag_for_negative_numbers == 0))
        {
            flag_for_negative_numbers = 1;
        }
        else
        {
            int tempValueTouchPanel_value = _wtoi(editBoxVariable_value);
                ValidateEditCtrl(ID_of_the_edit_box,
                editBoxVariable_value,
                MIN_value,
                MAX_value, default_value);
        }
}

//Below is the defination of ValidateEditCtrl() function

bool CustomDialogEx::ValidateEditCtrl(int CtrlId, int& valueToCheck, int minValue, int maxValue, CString defaultValue)
{
    auto isValid = true;
    UpdateData(TRUE);
    if (valueToCheck < minValue || valueToCheck > maxValue)
    {
        CString cString;
        cString.Format(INVALID_INT_MSG_EX, minValue, maxValue);
        ChangeMessageBoxTitle appTitle(dlgTitle);
        AfxMessageBox(cString);
        GetDlgItem(CtrlId)->SetWindowText(defaultValue);
        isValid = false;
    }
    return isValid;
}
//添加宏
#定义无效的\u INT\u MSG\u exl“输入一个介于%d和%d之间的整数。”
//声明一个全局变量
int flag_表示_负数=0
void CTouchPanelModule::OnEnChangeTpTempValue()
{
更新数据(真);
如果(editBoxVariable_value==_T('-')&&(标志_表示_负数==0))
{
标志_表示_负数=1;
}
其他的
{
int tempValueTouchPanel_值=_wtoi(editBoxVariable_值);
ValidateEditCtrl(编辑框的ID),
editBoxVariable_值,
最小值,
最大值,默认值);
}
}
//下面是ValidateEditCtrl()函数的定义
bool CustomDialogEx::ValidateEditCtrl(int-CtrlId、int&valueToCheck、int-minValue、int-maxValue、CString-defaultValue)
{
auto isValid=true;
更新数据(真);
如果(valueToCheckmaxValue)
{
CString-CString;
cString.Format(无效的\u INT\u MSG\u EX、minValue、maxValue);
ChangeMessageBoxTitle应用标题(dlgTitle);
AfxMessageBox(cString);
GetDlgItem(CtrlId)->SetWindowText(默认值);
isValid=false;
}
返回有效;
}

编辑框是如何定义的?请出示一些代码。是的,我找到了一个解决方案!!谢谢