Каковы различия между диалоговыми окнами main / child / mdi? - PullRequest
0 голосов
/ 30 сентября 2008

Мне нужно понять различия между окнами main / mdi / child / dialogs ... как следует распространять сообщения win32 ... почему некоторые сообщения присутствуют в одном типе, а не в другом ...

Ответы [ 3 ]

4 голосов
/ 30 сентября 2008

Справочная информация доступна здесь на веб-сайте MSDN. Если вам нужно больше введения или учебника, то книга Чарльза Петцольда Программирование Windows превосходна.

1 голос
/ 30 сентября 2008

Главное окно Верхнее окно приложения. Он помечен как главное окно процесса, и к этой информации можно легко получить доступ, вызвав процессы с соответствующим разрешением.

Окно MDI (Multiple Document Interface) Обычно это находится в главном окне приложения и содержит набор дочерних элементов MDI. В основном это класс окна, интегрированный с Win32 API. Я считаю, что операционная система не воспринимает его по-другому, как любой другой класс окон. Они вымирают в пользу множества окон SDI (Word 2007).

Child Это дочернее окно любого другого окна. Его положение, видимость и в основном все зависит от родительского окна. Дети отправляют уведомления своим родителям. Уведомление - это особый вид оконного сообщения.

Диалог Диалоги обеспечивают простое создание дочерних элементов и обработку ввода на основе того, что нужно 95% диалогов. Функции диалога в API позволяют создавать окно и его дочерние элементы, используя скомпилированные шаблоны в файле PE (.exe). Обработка сообщений также немного отличается, поскольку вы работаете в основном с уведомлениями от детей.

Основное отличие диалоговых окон заключается в том, что вы используете модальное окно. Вызов создания будет блокироваться, пока пользователь не закроет диалог. Это может сделать обновление интерфейса немного сложным в некоторых ситуациях.

0 голосов
/ 30 сентября 2008

Я не разработчик Windows, но вот что я понимаю:

главное окно - уровень контейнера, который вы можете активировать / увидеть на панели задач.

диалоговое окно - небольшая блокировка (если модальная) вашего окна, не видна на панели задач. В основном используется для отображения сообщения пользователю.

mdi (Multiple Document Interface) - не просто окно, а более простой контейнер для хранения дочерних окон. Каждое дочернее окно может быть развернуто / свернуто / закрыто внутри этого контейнера, но вы не найдете ни одного из них на панели задач. http://en.wikipedia.org/wiki/Multiple_document_interface

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...