GetDlgItemInt () проблема - PullRequest
       9

GetDlgItemInt () проблема

0 голосов
/ 27 октября 2009

Хорошо, у меня есть 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;

Есть предложения?

1 Ответ

5 голосов
/ 27 октября 2009

Первый параметр GetDlgItemInt должен быть дескриптором диалогового окна . Если имя hwndEdit2 не является чрезвычайно обманчивым, вы вместо этого передаете дескриптор самому элементу управления редактирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...