Вспомогательные (popup) окна обычно используются для отображения на короткий промежуток времени какой-либо информации. Диалоговые окна и окна сообщений тоже являются вспомогательными, но для работы с ними используются специальные функции .
Для каждого вспомогательного окна, как правило, организуется своя функция окна.
Вспомогательное окно можно создать, указав флаг WS_POPUP в третьем параметре вызова функции CreateWindow().
Приведем некоторые особенности вспомогательных окон.
· Вспомогательные окна не имеют заголовка. Вы можете использовать флаг WS_BORDER или WS_DLGFRAME вместо WS_CAPTION для отображения рамки окна.
· Вспомогательные окна часто должны иметь фиксированный размер (хотя это не является обязательным). Для этого надо исключить из определения типа окна флаги WS_THICKFRAME и WS_MAXINIZEBOX.
· Вспомогательное окно может иметь, а может и не иметь окно-родителя. Если вспомогательное окно не имеет окна-родителя, то поле «индекс окна родителей» содержит NUUL, и вспомогательное окно совершенно независимо от создавшего его окна и по своим свойствам практически неотличимы от перекрывающихся окон. Поведение вспомогательного окна, имеющего родителя, зависит от того, что происходит с окном-родителем.
· Когда главное окно минимизируется, вспомогательное окно без «родителя» скрывается, а вспомогательное окно с «родителем» остается на экране сверху (как поплавок всегда оказывается сверху). Это справедливо и в том случае, когда вспомогательное окно минимизировано (что производит довольно неприятное впечатление); по этой причине иногда рекомендуется защищать минимизацию окна, не указывая вспомогательному окну флаг WS_MINIMIZEBOX.