Немодальною діалогових вікон

Діалогове вікно немодальною повинні бути спливаюче вікно з системного меню, рядок заголовка та тонка межа; тобто, діалоговому вікні шаблон слід вказати стилі, WS_POPUP, WS_CAPTION, WS_BORDER і WS_SYSMENU. Система робить не автоматично відображення діалогового вікна, якщо шаблон визначає стиль WS_VISIBLE.

Застосунок створює немодальною діалоговому вікні за допомогою функції CreateDialog або CreateDialogIndirect . CreateDialog вимагає ім'я або ідентифікатор ресурсу, який містить діалоговому вікні шаблон; CreateDialogIndirect потребує маркер пам'яті об'єкт, що містить діалоговому вікні шаблон. Дві інші функції, CreateDialogParam і CreateDialogIndirectParam, також створити немодальною діалогові вікна; вони проходять Указаний параметр у діалоговому вікні порядку, коли створюється діалогового вікна.

CreateDialog та інші функції створення повернути вікно ручка для діалогового вікна. Застосування та діалоговому вікні порядок можна використовувати цю ручку керування діалогове вікно. Наприклад, якщо WS_VISIBLE не вказано в діалоговому вікні шаблон, застосування можна відобразити діалогове вікно передаючи ручку вікно ShowWindow функції.

Діалогове вікно немодальною вимикає власник вікно ні надсилає повідомлення. Під час створення діалогового вікна, система робить його активного вікна, але користувач або додаток можна змінити активного вікна, в будь-який час. Якщо діалогове вікно стають неактивними, залишається вище власник вікна в Z-послідовності, навіть якщо власник вікно є активним.

Застосування несе відповідальність за отримання й диспетчерських повідомлення для вводу в діалоговому вікні. Більшість програм використовувати основний цикл для цього. Дозволити користувачеві переміщення та вибір елементів керування за допомогою клавіатури, однак, застосування повинні викликати функцію IsDialogMessage . Щоб отримати додаткові відомості про цю функцію перегляньте Діалоговому вікні клавіатура інтерфейс.

Не немодальною діалогове вікно може повернути значення застосування модальне діалогове вікно робить, але діалоговому вікні процедуру можна надіслати інформацію до власника вікна, за допомогою функції SendMessage.

Застосування повинні знищити всі немодальною діалогові вікна перед його завершенням. Це може зруйнувати діалогове вікно немодальною за допомогою DestroyWindow функції. У більшості випадків діалоговому вікні порядок дзвінки DestroyWindow у відповідь на введення користувача, наприклад, вибравши "Скасувати". Якщо користувач ніколи не закриває діалогове вікно таким чином, застосування повинні викликати DestroyWindow.

DestroyWindow розриває дескриптор вікна для вікна, так що наступні дзвінки для функцій, що використовують ручку повертають значення помилок. Щоб уникнути помилок, діалоговому вікні порядок необхідно попередити за власника знищені діалогового вікна. Багато додатків зберегти глобальну змінну, що містить маркер для діалогового вікна. Коли процедура діалоговому вікні руйнує діалогового вікна, також встановлює глобальну змінну NULL, із зазначенням, що діалогове вікно вже недійсний.

Діалоговому вікні процедура повинна не викликати функцію EndDialog , щоб знищити діалогове вікно немодальною.

Index