Окно ввода будет после 24124j95y ;дним элементом управления, который мы добавим в диалог в этой главе. Окна ввода применяются для ввода текстовых строк. Перед добавлением окна ввода в программе необходимо описать его в файле ресурсов. В данном случае сле 24124j95y ;дует изменить Mydialog rc так, чтобы описание диалога выглядело сле 24124j95y ;дующим образом:
MYDB DIALOG
CAPTION "Первый диалог"
STYLE DS MODALFRAME WS POPUP WS CAPTION WS SYSMENU
DEFPUSHBUTTON " ", IDD_RED, 57, 45, 36, 14,
WS_CHILD|WS_VISIBLE|WS_TABSTOP
PUSHBUTTON " ", IDD_GREEN, 95, 45, 36, 14,
WS_CHILD|WS_VISIBLE|WS_TABSTOP
PUSHBUTTON " ", IDCANCEL, 52, 65, 37, 14,
WS_CHILD|WS_VISIBLE|WS_TABSTOP
PUSHBUTTON " ", IDD_SELFRUIT,
2, 45, 50, 14, WS_CHILD|WS_VISIBLE|WS_TABSTOP
PUSHBUTTON " ", IDOK, 68, 22, 60, 14,
WS_CHILD|WS_VISIBLE|WS_TABSTOP
LISTBOX ID_LB1, 2, 10, 47, 28, LBS_NOTIFY|WS_CHILD|
WS_VISIBLE|WS_BORDER|WSJVSCROLL|WS_TABSTOP
EDITTEXT ID_EB1, 68, 8, 72, 12, ES_LEFT|
ES_AUTOHSCROLL|WS_CHILD|WS_VISIBLE|WS_BORDER|
WS TABSTOP
EDITTEXT
EDITTEXT ID, X, Y, Width, Height[,
ID Y Width Height
Mydialog h нужно добавить сле 24124j95y ;дующее макроопределение:
define ID ED 107
Окна ввода могут не только принимать сообщения, но и генерировать их. Однако в нашем примере обработка всех сообщений не требуется. Вы увидите, что окна ввода автоматически выполняют все необходимые действия для редактирования текста, так что в процессе ввода текста Вашей программе не нужно будет взаимодействовать с окном ввода, - ей потребуется просто решить, когда сле 24124j95y ;дует получить текущее содержимое окна ввода. Для этого сле 24124j95y ;дует использовать функцию API GetDlgItemText
UINT GetDlgltemText(HWND hdwnd, int nID,
LPSTR lpstr int nMax
lpstr nMax hdwnd a nID
switch DialogFunc
case IDOK // Нажата кнопка "Конец ввода",
// показать содержимое окна ввода
GetDlgItemText hdwnd ID EB str
MessageBox hdwnd str, "Содержимое окна ввода",
MB OK
return
IDOK Windows h
|