好的,我在主窗口中有2个编辑控件和一个按钮;在一个编辑控件中,用户可以编写一个数字,当他按下按钮时我会读取该编号,然后将其打印在另一个编辑控件中(这是只读的)。
我的问题是,当我输入一个数字并按下按钮时,由于某些原因我不明白我可以得到那个数字。 GetDlgItemInt()总是返回零,他的第三个参数总是返回false。
这是我使用GetDlgItemInt()读取数字的代码:
case CM_BUTTON:
number = GetDlgItemInt(hwndEdit2, CM_EDIT2, &flag, FALSE);
if(flag)
{
if(number > 0 && number < 20)
{
sprintf(message, "This is the number %d", number);
SetWindowText(hwndEdit, message);
}
else
MessageBox(hwnd, "Number to high or to low", "Error", MB_OK | MB_ICONWARNING);
}
else
MessageBox(hwnd, "Error getting the number", "Error", MB_ICONEXCLAMATION | MB_OK);
break;
有什么建议吗?
答案 0 :(得分:5)
GetDlgItemInt
的第一个参数应该是对话框的句柄。除非名称hwndEdit2
极其欺骗,否则您当前正在将句柄传递给编辑控件本身。