Особенности взаимодействия стилей отображения с режимами отображения функции ShowWindow().




Некоторые стили класса окна.

CS_VREDRAW — Перерисовывать содержимое окна при изменении высоты.

CS_HEDRAW — Перерисовывать содержимое окна при изменении ширины.

CS_NOCLOSE — Окно не будет иметь кнопку ЗАКРЫТЬ.

CS_DBLCLKS — Посылать сообщение оконной функции при двойном щелчке мыши в пределах окна.

CS_OWNDC — Для каждого окна данного класса выделяется собственный контекст.

CS_CLASSDC — Все окна данного класса используют один контекст.

CS_PARENTDC — Дочерние окна данного класса наследуют контекст родительского окна.

CS_GLOBALCLASS — Класс окна, не зависящий от текущего HINSTANCE.

 

Стандартные иконки, имеющиеся в системе.

IDI_APPLICATION IDI_ASTERISK

IDI_EXCLAMATION IDI_HAND

IDI_QUESTION IDI_WINLOGO

 

Стандартные курсоры, имеющиеся в системе.

IDC_APPSTARTING Стрелка с маленькими песочными часами.

IDC_ARROW Стандартная простая стрелка.

IDC_UPARROW Вертикальная стрелка.

IDC_SIZENESW Стрелки изменения

IDC_SIZEN -размера окна

IDC_SIZENWSE -разного

IDC_SIZEWE -направления.

IDC_CROSS Перекрестье.

IDC_IBEAM Текстовый курсор (вертикальная черта)

IDC_NO Перечеркнутая окружность.

IDC_WAIT Песочные часы.

IDC_ICON Только в Windows NT: Empty icon.

IDC_SIZE Только в Windows NT: Четырех направленная стрелка изменения размера окна.

IDC_SIZEALL Такой же, как IDC_SIZE.

 

 

Стандартные кисти, имеющиеся в системе.

WHITE_BRUSH — Белая.

LTGRAY_BRUSH — Светло серая.

GRAY_BRUSH — Серая.

DKGRAY_BRUSH — Темно серая,

BLACK_BRUSH — Черная,

NULL_BRUSH — Прозрачная,

HOLLOW_BRUSH — Прозрачная.

 

Две последние (прозрачные) могут вызвать нестабильную работу программы, если их использовать в качестве фона окна.

Кроме перечисленных кистей можно создать кисть любого цвета, но об этом потом.

 

 

СТИЛИ ЭКЗЕМПЛЯРОВ ОКОН
WS_SYSMENU Окно имеет системное меню.
WS_MAXIMIZEDBOX   У окна имеется кнопка МАКСИМИЗАЦИИ (и присутствует соответствующий пункт в системном меню).
WS_MINIMIZEDBOX   У окна имеется кнопка МИНИМИЗАЦИИ (и присутствует соответствующий пункт в системном меню).
WS_SIZEBOX Окно может менять размеры.
WS_MAXIMIZE Создается максимизированное окно.
WS_MINIMIZE Создается минимизированное окно.
WS_ICONIC То же самое.
WS_VISIBLE Создается видимое окно.
WS_DISABLED Создается запрещенное окно.
WS_BORDER Окно имеет рамку.
WS_THICKFRAME Окно имеет толстую рамку.
WS_DLGFRAME Окно имеет рамку, как у диалоговых окон.
WS_CAPTION WS_BORDER | WS_DLGFRAME
WS_OWERLAPPED Окно имеет заголовок и рамку.
WS_TILED То же самое.
WS_POPUP Всплывающее окно. Несовместим с WS_CHILD.
WS_CHILD Дочернее окно. По умолчанию имеет только рабочую область. Меню не имеют никогда. Не совместим с WS_POPUP.
WS_CHILDWINDOW То же.
WS_TABSTOP Окно может получать фокус при нажатии клавиши Tab.
WS_VSCROLL Окно может иметь вертикальную линейку прокрутки.
WS_HSCROLL Окно может иметь вертикальную линейку прокрутки.
WS_CLIPCHILDREN Области, перекрываемые дочерними окнами, не прорисовываются.
WS_CLIPSIBLING Области, перекрываемые соседними окнами, не прорисовываются.
WS_OWERLAPPEDWINDOW   WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_ MAXIMIZEBOX
WS_TILEDWINDOW То же самое.
WS_POPUPWINDOW WS_SYSMENU | WS_BORDER | WS_POPUP

 

Режимы отображения окна.
SW_HIDE   Скрыть и активизировать другое.
SW_NORMAL SW_SHOWNORMAL   Активизировать и отобразить в соответствии с размерами, заданными при его создании.
SW_SHOWMINIMIZED   Активизировать и отобразить в виде иконки.
SW_MAXIMIZE SW_SHOWMAXIMIZED   Активизировать и отобразить на весь экран.
SW_SHOWNOACTIVATE     Окно отображается в его текущих размерах. При этом активное окно остается активным, неактивное – неактивным.
SW_SHOW   Активизировать и отобразить в текущих размерах.
SW_MINIMIZE   Отобразить в виде иконки и активизировать предыдущее по уровню.
SW_SHOWMINNOACTIVE   Отобразить в виде иконки. При этом активное – остается активным, неактивное – неактивным.
SW_SHOWNA   Отобразить в текущем состоянии. При этом активное остается активным, неактивное – неактивным.
SW_RESTORE   Активизировать и отобразить в соответствии с размерами, заданными при его создании. Используется при восстановлении размеров минимизированных, максимизированных, измененных окон.
SW_SHOWDEFAULT SW_MAX   Установить все параметры окна в соответствии с заданными при его создании.

 

 

Особенности взаимодействия стилей отображения с режимами отображения функции ShowWindow().

Для того чтоб окно отобразилось на экране необходимо использовать или стиль WS_VISIBLE или функцию ShowWindow() или и то и другое. Если не используется ни то, ни другое, то окно отображено не будет даже в том случае, когда использованы WS_MAXIMIZE или WS_MINIMIZE.

 

Если используется стиль WS_VISIBLE совместно со стилями WS_MAXIMIZE или WS_MINIMIZE, но не используется функция ShowWindow(), то при этом, если установлен стиль WS_MAXIMIZE, – окно будет отображено в соответствии с его установленными размерами (а не на весь экран). А если установлен стиль WS_MINIMIZE, то окно будет отображено в наиболее ужатом виде, но не в виде иконки и не свернутым.

 

Если используется функция ShowWindow(), но не используется стиль WS_VISIBLE, то стили WS_MAXIMIZE и WS_MINIMIZE игнорируются, а окно отображается в соответствии с функций ShowWindow().

 

Если же указан и стиль WS_VISIBLE и функция ShowWindow(), то сначала окно отображается в соответствии со стилями. А затем перерисовывается в соответствии с режимом функции ShowWindow().

Поэтому, если Вы хотите отобразить окно сразу, например в развернутом, или свернутом виде (без двойной перерисовки) то не используйте стили отображения, а указывайте требуемый режим в функции ShowWindow().

 


Окна сообщений

 

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

 

Для создания окна сообщения применяется специальная функция MessageBox(). Она возвращает значение, соответствующее той кнопке, которую нажал пользователь. Возвращаемое значение можно игнорировать.

 

int = MessageBox(HWND, LPCTSTR,LPCTSTR,UINT)

где: Первый параметр – это хендл родительского окна.

Второй параметр – это текст сообщения.

Третий параметр – это заголовок окна сообщения.

Четвертый параметр – это стиль окна сообщения, который и определяет набор кнопок и отображаемую картинку.

 

 

Стили окон сообщений.
MB_OK 1 кнопка “OK”.
MB_YESNO 2 кнопки “YES”,“NO” или “ДА”,“НЕТ”.
MB_OKCANCEL 2 кнопки “YES”,“CANCEL” или “ДА”,“ОТМЕНА”.
MB_RETRYCANCEL 2 кнопки “RETRY”,“CANCEL” или “ПОВТОР”,“ОТМЕНА”.
MB_YESNOCANCEL 3 кнопки “YES”,”NO”,“CANCEL” или “ДА”,“НЕТ”,“ОТМЕНА”.
MB_ABORTRETRYIGNORE 3 кнопки “ABORT”,”RETRY”,”IGNORE” или “СТОП”,”ПОВТОР”,”ПРОПУСТИТЬ”.
MB_ICONEXCLAMATION MB_ICONWARNING
MB_ICONINFORMATION, MB_ICONASTERISK
MB_ICONQUESTION
MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND

 

Возвращаемые значения.
IDOK Нажата кнопка “OK”.
IDYES Нажата кнопка “YES” или “ДА”.
IDNO Нажата кнопка “NO” или “НЕТ”.
IDCANCEL Нажата кнопка “CANCEL” или “ОТМЕНА”.
IDIGNORE Нажата кнопка ”IGNORE” или ”ПРОПУСТИТЬ”.
IDRETRY Нажата кнопка ”RETRY” или ”ПОВТОР”.
IDABORT Нажата кнопка “ABORT” или “СТОП”,”

 

Будет на кнопках русский текст или английский зависит от установок Windows.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: