15. Диалоговые панели, модальные панели (Ответы на вопросы билетов)
Описание файла
Файл "15. Диалоговые панели, модальные панели" внутри архива находится в следующих папках: Ответы на вопросы билетов, WinAPI - Ответы на вопросы билетов. PDF-файл из архива "Ответы на вопросы билетов", который расположен в категории "". Всё это находится в предмете "api windows" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "api windows" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
1.Диалоговые панели, модальные панели.Диалоговые панели – это предопределенный в Windows класс окон (dialog window class), на базе этогокласса создаются временные (pop-up) окна (иногда перекрывающиеся (overlapped) окна), на ихповерхности располагаются дочерние окна - органы управления. Диалоговые панели значительноупрощают использование органов управления, так как функция окна, соответствующая классу диалоговыхпанелей и расположенная внутри Windows, обеспечивает как взаимодействие органов управления междусобой, так и их взаимодействие с приложением. В частности, эта функция обеспечивает передачу фокусаввода от одного органа управления к другому при помощи клавиши <Tab> и клавиш перемещения курсора<Up> и <Down>, выполняет обработку сообщений от клавиш <Enter> и <Esc>.Для создания диалоговой панели вы должны предпринять следующие действия:- создать шаблон диалога;- определить функцию диалога;- вызвать одну из функций создания диалога.Диалоговые панели бывают трех типов: модальные, системные модальные и немодальные.Модальная: главное окно приложения и его дочерние окна блокируются, перестают получатьсообщения от мыши и клавиатуры.
Но есть возможность работать с другими приложениями. Чтобы и этозапретить – системные модальные диалоговые панели.Немодальная диалоговая панель не блокирует работу основного окна приложения и его дочернихокон. Вы можете работать как с диалоговой панелью, так и с окном приложения.Создание модальных диалоговых панелей:1. Шаблон диалога должен содержать стиль - DS_MODALFRAME для модальной диалоговой панели,DS_SYSMODAL – системной модальной диалоговой панели2.
Должна быть вызвана одна из следующих функций:а) int WINAPI DialogBox (HINSTANCE hInstance, LPCSTR lpszTemplate, HWND hwndOwner, DLGPROC dlgprc);hInstance – идентификатор текущей копии приложениия,lpszTemplate – указатель на строку имени шаблона, указанном в операторе DIALOG,hwndOwner – идентификатор окна, создавшего диалоговую панель, dlgprc – адрес функции диалога.б) DialogBoxParam имеет дополнительный пятый параметр LPARAM lParamInit - значение этого параметрапередается через параметр lParam сообщения WM_INITDIALOG и может быть проанализировано на этапесоздания диалоговой панели.в) DialogBoxIndirect – для шаблона, сформированного в области памяти, аналогична функции DialogBox, новторой параметр – HGLOBAL hglbDlgTemplate – идентификатор глобального блока памяти, где подготовленшаблон.г) DialogBoxIndirectParam - аналогично функции DialogBoxIndirect + 5 параметр, как у DialogBoxParamФункции DialogBox, DialogBoxParam, DialogBoxIndirect, и DialogBoxIndirectParam возвращаютзначение, передаваемое при завершении работы диалоговой панели с помощью функции EndDialog.3.
Для завершения работы используется – функция EndDialog(hwndDlg, nResult).hwndDlg – идентификатор диалоговой панели, nResult – возвращает код завершения.