C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Дебетовая карта Home Credit [CPS] RU

 121 - CWnd::SetWindowPos / MFC Справка / Visual C++

Шаг 121 - CWnd::SetWindowPos

BOOL SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags );

Отлично от нуля, если функция успешна, иначе 0.

Параметры
pWndInsertAfter
Идентифицирует объект CWnd, который будет предшествовать этому объекту CWnd в Z-порядке. Этот параметр может быть указатель на CWnd или Указатель на одно из следующих значений:

  • WndBottom - Помещает окно на дно Z-порядка. Если этот CWnd - вернее окно, окно теряет свое верхнее состояние; система помещает окно вниз всех других окон.
  • WndTop - Помещает окно наверху Z-порядка.
  • WndTopMost - Помещает окно поверх всех не верхних окон. Окно сообщает, что оно является самым верхним даже, когда оно дезактивировано.
  • WndNoTopMost - Снова устанавливает окно к верхней части всех nontopmost окон (то есть позади всех topmost окон). Этот флажок не имеет никакого эффекта, если окно - уже типа WndTopMost.
x
Определяет новую позицию левого угла окна.
y
Определяет новую позицию вернего угла окна.
cx
Определяет новую ширину окна.
cy
Определяет новую высоту окна.
nFlags
Определяет установление размеров и позиционирование опций. Этот параметр может быть комбинацией следующих флагов:
  • SWP_DRAWFRAME - Рисует рамку (определенную когда окно было создано) вокруг окна.
  • SWP_FRAMECHANGED - Посылает WM_NCCALCSIZE сообщение окну, даже если размер окна не изменяется. Если этот флажок не определен, WM_NCCALCSIZE послан только, когда размер окна изменяется.
  • SWP_HIDEWINDOW - Скрывает окно.
  • SWP_NOACTIVATE - Не активизировать окно. Если этот флажок не установлен, окно активизировано и перемещается к верхней части или topmost или группы nontopmost (в зависимости от установки pWndInsertAfter параметра).
  • SWP_NOCOPYBITS - Отбрасывает все содержание клиентской области. Если этот флажок не определен, допустимое содержание клиентской области сохранено и скопировано обратно в клиентскую область после того, как окно установлено по размеру или снова установлено.
  • SWP_NOMOVE - Сохраняет текущую позицию (игнорирует x и y параметры).
  • SWP_NOOWNERZORDER - Не изменяет позицию окна владельца в Z-порядке.
  • SWP_NOREDRAW - Делает не перерисовки. Если этот флажок установлен, никакой перерисовки любого вида не происходит. Это применяется к клиентской области, неклиентская область (включая заголовок и полосы прокрутки), и любую часть родительского окна, раскрытого в результате перемещаемого окна. Когда этот флажок установлен, приложение должно явно объявить неверным или перерисовать любые части окна и родительского окна, которое должно быть повторно выведено.
  • SWP_NOREPOSITION - Тот же самый как SWP_NOOWNERZORDER.
  • SWP_NOSENDCHANGING - Предотвращает окно от получения WM_WINDOWPOSCHANGING сообщения.
  • SWP_NOSIZE - Сохраняет текущий размер (игнорирует cx и cy параметры).
  • SWP_NOZORDER - Сохраняет текущее(актуальное) упорядочение(заказывание) (игнорирует pWndInsertAfter).
  • SWP_SHOWWINDOW - Отображает окно.

Замечания
Вызовите этот метод, чтобы изменить размер, позицию, и Z-порядок дочерних, всплывающих, и верхнего уровня окон
Windows упорядочивает окна на экране согласно их Z-порядку, окно наверху Z-порядка появляется над всеми другими окнами в порядке.
Все координаты для дочерних окон - клиентские координаты (относительно левого верхнего угла клиентской области родительского окна).
Окно может перемещаться в верхнюю часть Z-порядка или, устанавливая pWndInsertAfter параметр для &wndTopMost и гарантируя, что флажок SWP_NOZORDER не установлен или, устанавливая Z-порядок окна так, чтобы оно было выше любых существующих topmost окон. Когда nontopmost окно сделано, topmost, находящиеся в собственности окна также сделаны topmost. Владельцы не изменены.
Topmost окно больше не topmost, если оно снова установлено к нижней части (&wndBottom) Z-порядка или после любого nontopmost окна. Когда topmost окно сделано, nontopmost, все владельцы и находящиеся в собственности окна также сделаны nontopmost окнами.
Если ни SWP_NOACTIVATE ни SWP_NOZORDER не определен (то есть когда приложение просит чтобы окно было одновременно активизировано и помещены в определенном Z-порядке), значение, определенное в pWndInsertAfter используется только в следующих обстоятельствах:

  • Ни &wndTopMost ни &wndNoTopMost не определен в pWndInsertAfter параметре.
  • Это окно - не активное окно.

Приложение не может активизировать неактивное окно перемещения его к верхней части Z-порядка. Приложения могут изменять Z-порядок активизированного окна без ограничений.
Nontopmost окно может обладать topmost окном, но не наоборот. Любое окно (например, диалоговое окно) принадлежащий topmost окну самостоятельно сделано topmost окном, чтобы гарантировать, что все находящиеся в собственности окна остаются выше их владельца.
С Windows 3.1 и позже, окна могут перемещаться в верхнюю часть Z-порядка и блокироваться там, устанавливая их WS_EX_TOPMOST стили. Такое topmost окно утверждает, что topmost позиционируют даже когда дезактивировано. Например, выбор команды WinHelp Always On Top делает окно Справки topmost, и затем остается видимо, когда Вы возвращаетесь к вашему приложению.
Чтобы создавать topmost окно, вызовите SetWindowPos с pWndInsertAfter параметром, равным &wndTopMost, или установите WS_EX_TOPMOST стиль, когда Вы создаете окно. Если Z-порядок содержит любые окна с WS_EX_TOPMOST стилем, окно, перемещаемое с &wndTopMost, значение помещено наверху всех nontopmost окон, но ниже любых topmost окон. Когда приложение активизирует неактивное окно без WS_EX_TOPMOST бита, окно перемещается прежде всего nontopmost окна, но ниже любых topmost окон.
Если SetWindowPos вызывается, когда pWndInsertAfter параметр - &wndBottom, и CWnd - topmost окно, окно теряет topmost состояние (, очищен), и система помещает окно на дне Z-порядка.


| |
Автор Каев Артем.
[AD]





Дебетовая карта Home Credit [CPS] RU