GetDlgItemInt()问题

0 c++ winapi

好的,我在主窗口中有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;
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Jer*_*fin 5

第一个参数GetDlgItemInt应该是对话框的句柄.除非名字hwndEdit2非常欺骗,你目前正在传递的句柄编辑控件本身,而不是.