Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Фокус на EDITTEXT в диалоге |
Автор: Riddik 8.4.2013, 14:27 |
Привет. Во время появления диалога нужно установить фокус ввода на компоненте EDITTEXT и выделить весь текст в нём. В обработке сообщения WM_INITDIALOG вызываю SetFocus(GetDlgItem(hwnd, IDEDIT1)); - без толку. Для выделения всего текста: SendDlgItemMessageW(hwnd, IDEDIT1, EM_SETSEL, (WPARAM)0, (LPARAM)-1); Тоже нет эффекта. В чём может быть проблема? Компонент в файле-ресурсов определён так: EDITTEXT IDEDIT1, 70, 6, 50, 12, ES_RIGHT, WS_EX_RIGHT |
Автор: GremlinProg 8.4.2013, 15:25 |
WM_INITDIALOG - хитрое сообщение. Если в ответ на него вернуть TRUE система сама установит фокус в компонент, чей HWND передается в wParam. По всей видимости, чтобы фокус не переходил на другой компонент, в вашем случае, следует вернуть FALSE. |
Автор: Riddik 8.4.2013, 15:37 |
Большое спасибо, всё нормально) |