- •Методические указания
 - •Оглавление
 - •Теоретический материал
 - •Введение
 - •Типы данных Windows. Типы указателей Windows. Использование памяти
 - •Венгерская нотация. Префиксы данных
 - •Общая структура Windows-приложений
 - •Описание класса (стиля) окна. Структура wndclass
 - •Создание (визуализация) окна
 - •Сообщения. Схема обработки. Прототипы функций-обработчиков сообщений
 - •Ресурсы Windows-приложений
 - •Встроенные редакторы ресурсов
 - •Средства организации вывода данных
 - •Средства организации ввода данных
 - •Вывод растровых изображений в Windows-приложениях
 - •Автоматические шаблоны (каркасы) windows-приложений (тип empty, simple)
 - •Создать шаблон Windows-приложения (тип Empty) и изучить его свойства
 - •Модифицировать шаблон
 - •Создать шаблон Windows-приложения (тип Simple) и изучить его свойства
 - •Типовой шаблон (каркас) windows-приложения (тшп)
 - •Изучение свойств типового шаблона
 - •Изучить листинг типового шаблона
 - •Воспроизвести типовой шаблон
 - •Изучить свойства типового шаблона
 - •Модификация типового шаблона
 - •Изменить интерфейс типового шаблона
 - •Добавить строку приветствия в типовой шаблон
 - •Использование типового шаблона
 - •Организовать вывод данных с применением функций
 - •Добавить ресурс - меню
 - •Организовать ввод данных с применением меню и пользовательского диалогового окна
 - •Автоматический шаблон (каркас) windows-приложения (тип hello)
 - •Изучение свойств шаблона (тип Hello)
 - •Создать шаблон Windows-приложения (тип Hello)
 - •Изучить ресурсы шаблона
 - •Изучить свойства шаблона
 - •Модификация шаблона (тип Hello)
 - •Получить типовой шаблон приложения (тшп) из шаблона (тип Hello)
 - •Организовать ввод-вывод числовых данных с применением пользовательского диалогового окна
 - •Индивидуальные задания
 
- 
Организовать ввод данных с применением меню и пользовательского диалогового окна
 
В проект (WinStandardTemplateIO), созданный на базе шаблона Windows-приложения (тип Simple), внести изменения для получения типового шаблона ТШП и сохранить. Создать меню с двумя пунктами ВВОД (подпункт Ввести) и ВЫВОД (подпункт Вывести). По подпункту Ввести инициализировать диалоговое окно (с окнами редактирования, подсказками, кнопками), предназначенное для задания исходных данных. По подпункту Вывести производить вывод ранее введенных значений. Результаты привести в ОТЧЕТЕ. Примерный вид диалогового окна приведен ниже

ПОРЯДОК (СХЕМА) ВЫПОЛНЕНИЯ ЗАДАЧИ.
1. Создать ресурсный файл и подключить его к проекту.
2. Добавить, настроить и присоединить к приложению ресурс – меню.
3. Настроить обработку событий – выбор пункта меню (в свойствах пунктов найти идентификаторы пунктов, например ID_MENUITEM40001, ID_MENUITEM40007) путем соответствующих изменений функции WndProc (…)
switch (messg)
{
case WM_COMMAND:
switch (wParam)
{
case ID_MENUITEM40001:
……………….
case ID_MENUITEM40007:
………………….
default:
…………………
}
case WM_PAINT:
…………………..
case WM_DESTROY:
……………………
default:
…………………..
} .
- 
Добавить, настроить и присоединить к приложению ресурс – диалоговое окно (например, с ID = IDD_DIALOG1, с окошками редактирования IDC_EDIT1 - IDC_EDIT3). Описать переменную-дескриптор (HINSTANCE hInst) приложения как глобальную переменную, чтобы обеспечить доступность к ней и за пределами WinMain(…).
 - 
Описать программу обработчик – функцию диалогового окна и ее прототип
 
LRESULT CALLBACK TO_PROCESS_DIALOG_BOX(HWND hDlg, UINT message,
WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
return FALSE;
case WM_COMMAND:
switch (wParam)
{
case IDOK:
EndDialog(hDlg,TRUE);
break;
case IDCANCEL:
EndDialog(hDlg,FALSE);
break;
default:
return FALSE;
}
break;
default:
return FALSE;
}
return TRUE;
}; .
- 
Инициализировать диалоговое окно, вставив вызов-инициализацию окна в пользовательскую секцию функции WndProc(…)
 
DialogBox(hInst, (LPCTSTR)IDD_DIALOG1, hWnd, (DLGPROC) TO_PROCESS_DIALOG_BOX); .
- 
Компилировать и наблюдать работу меню и окна.
 - 
Настроить ввод данных на примере строковых (для окошка редактирования, например, с именем IDC_EDIT1). Описать вводимую строку как глобальную переменную, например char InputString [80];. В секцию case IDOK: функции TO_PROCESS_DIALOG_BOX() вставить ввод команду
 
GetDlgItemText(hDlg,IDC_EDIT1, InputString,15); .
- 
Для контроля результатов ввода в секцию реакции на выбор пункта меню для вывода данных (например, case ID_MENUITEM40007: функции WndProc(…) ) вставить вывод команду вывода, например MessageBox (hWnd, InputString, "СТРОКА ВВОДА", MB_OK); .
 - 
Аналогичным образом, используя библиотечные функции [см. ФункцииВводаВывода], настроить ввод-вывод с использованием остальных окошек редактирования.
 
