- •Методические указания
- •Оглавление
- •Теоретический материал
- •Введение
- •Типы данных 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); .
-
Аналогичным образом, используя библиотечные функции [см. ФункцииВводаВывода], настроить ввод-вывод с использованием остальных окошек редактирования.