На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

RedrawWindow



The RedrawWindow function updates the specified rectangle or region in a window's client area.

BOOL RedrawWindow(

HWND hWnd, // handle of window
CONST RECT *lprcUpdate, // address of structure with update rectangle
HRGN hrgnUpdate, // handle of update region
UINT flags // array of redraw flags
);


Parameters

hWnd

Identifies the window to be redrawn. If this parameter is NULL, the desktop window is updated.

lprcUpdate

Points to a RECT structure containing the coordinates of the update rectangle. This parameter is ignored if the hrgnUpdate parameter identifies a region.

hrgnUpdate

Identifies the update region. If both the hrgnUpdate and lprcUpdate parameters are NULL, the entire client area is added to the update region.

flags

Specifies one or more redraw flags. This parameter can be a combination of flags that invalidate or validate a window, control repainting, and control which windows are affected by RedrawWindow.
The following flags are used to invalidate the window:

Flag (invalidation) Description
RDW_ERASE Causes the window to receive a WM_ERASEBKGND message when the window is repainted. The RDW_INVALIDATE flag must also be specified; otherwise, RDW_ERASE has no effect.
RDW_FRAME Causes any part of the nonclient area of the window that intersects the update region to receive a WM_NCPAINT message. The RDW_INVALIDATE flag must also be specified; otherwise, RDW_FRAME has no effect. The WM_NCPAINT message is typically not sent during the execution of RedrawWindow unless either RDW_UPDATENOW or RDW_ERASENOW is specified.
RDW_INTERNALPAINT Causes a WM_PAINT message to be posted to the window regardless of whether any portion of the window is invalid.
RDW_INVALIDATE Invalidates lprcUpdate or hrgnUpdate (only one may be non-NULL). If both are NULL, the entire window is invalidated.


The following flags are used to validate the window:

Flag (validation) Description
RDW_NOERASE Suppresses any pending WM_ERASEBKGND messages.
RDW_NOFRAME Suppresses any pending WM_NCPAINT messages. This flag must be used with RDW_VALIDATE and is typically used with RDW_NOCHILDREN. RDW_NOFRAME should be used with care, as it could cause parts of a window to be painted improperly.
RDW_NOINTERNALPAINT Suppresses any pending internal WM_PAINT messages. This flag does not affect WM_PAINT messages resulting from a non-NULL update area.
RDW_VALIDATE Validates lprcUpdate or hrgnUpdate (only one may be non-NULL). If both are NULL, the entire window is validated. This flag does not affect internal WM_PAINT messages.


The following flags control when repainting occurs. RedrawWindow will not repaint unless one of these flags is specified.

Flag Description
RDW_ERASENOW Causes the affected windows (as specified by the RDW_ALLCHILDREN and RDW_NOCHILDREN flags) to receive WM_NCPAINT and WM_ERASEBKGND messages, if necessary, before the function returns. WM_PAINT messages are received at the ordinary time.
RDW_UPDATENOW Causes the affected windows (as specified by the RDW_ALLCHILDREN and RDW_NOCHILDREN flags) to receive WM_NCPAINT, WM_ERASEBKGND, and WM_PAINT messages, if necessary, before the function returns.


By default, the windows affected by RedrawWindow depend on whether the given window has the WS_CLIPCHILDREN style. Child windows that are not the WS_CLIPCHILDREN style are unaffected; non-WS_CLIPCHILDREN windows are recursively validated or invalidated until a WS_CLIPCHILDREN window is encountered. The following flags control which windows are affected by the RedrawWindow function:

Flag Description
RDW_ALLCHILDREN Includes child windows, if any, in the repainting operation.
RDW_NOCHILDREN Excludes child windows, if any, from the repainting operation.


Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

When RedrawWindow is used to invalidate part of the desktop window, the desktop window does not receive a WM_PAINT message. To repaint the desktop, an application uses the RDW_ERASE flag to generate a WM_ERASEBKGND message.

See Also

GetUpdateRect, GetUpdateRgn, InvalidateRect, InvalidateRgn, RECT, UpdateWindow


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

RedrawWindow



Функция RedrawWindow корректирует определенный прямоугольник или регион в области клиента окна.

BOOL RedrawWindow(

HWND hWnd, // РУЧКА окна
CONST RECT *lprcUpdate, // АДРЕС структуры с прямоугольником коррекции HRGN hrgnUpdate, // ручка региона коррекции UINT сигнализирует // массив обновления изображения флагов
);


Параметры

hWnd

Идентифицирует окно, чтобы быть redrawn. Если этот параметр НЕДЕЙСТВИТЕЛЕН, настольное окно скорректировано.

lprcUpdate

Точки на структуру RECT, содержащие координаты прямоугольника коррекции. Этот параметр проигнорирован если параметр hrgnUpdate идентифицирует регион.

hrgnUpdate

Идентифицирует регион коррекции. Если как hrgnUpdate так и параметры lprcUpdate НЕДЕЙСТВИТЕЛЬНЫ, целая область клиента добавлена к региону коррекции.

флаги

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

Описание Флага (недостоверность)
RDW_ERASE Заставляет окно, чтобы получать сообщение WM_ERASEBKGND когда окно перекрашено. Флаг RDW_INVALIDATE должен также определен; в противном случае, RDW_ERASE не имеет эффект.
RDW_FRAME Вызывает любую часть области nonclient окна, что пересекать регион коррекции, чтобы получать сообщение WM_NCPAINT. Флаг RDW_INVALIDATE должен также определен; в противном случае, RDW_FRAME не имеет эффект. Сообщение WM_NCPAINT обычно не послано в течение выполнения RedrawWindow если или RDW_UPDATENOW или RDW_ERASENOW не определен.
RDW_INTERNALPAINT Вызывает сообщение WM_PAINT, которое нужно объявляться в окно независимо от того, что любая часть окна недействительна.
RDW_INVALIDATE Аннулирует lprcUpdate или hrgnUpdate (только один может быть не-НЕДЕЙСТВИТЕЛЬНО). Если оба НЕДЕЙСТВИТЕЛЬНЫ, целое окно аннулировано.


Следующие флаги использованы, чтобы подтверждать окно:

Флаг (подтверждение) Description RDW_NOERASE Подавляет любые незаконченные сообщения WM_ERASEBKGND.
RDW_NOFRAME Подавляет любые незаконченные сообщения WM_NCPAINT. Этот флаг должен быть использован RDW_VALIDATE и обычно использован RDW_NOCHILDREN. RDW_NOFRAME должен использоваться осторожно, как это могло бы вызвать части окна, которое нужно закрашиваться неправильно.
RDW_NOINTERNALPAINT Подавляет любые незаконченные внутренние сообщения WM_PAINT. Этот флаг не влияет на сообщения WM_PAINT, проистекающие из не-НЕДЕЙСТВИТЕЛЬНОЙ области коррекции.
RDW_VALIDATE Подтверждает lprcUpdate или hrgnUpdate (только один может быть не-НЕДЕЙСТВИТЕЛЬНО). Если оба НЕДЕЙСТВИТЕЛЬНЫ, целое окно подтверждено. Этот флаг не влияет на внутренние сообщения WM_PAINT.


Следующее сигнализирует управление когда перекрашивать происходит. RedrawWindow НЕ перекрасится если один из этих флагов не определены.

Описание Флага
RDW_ERASENOW Вызывает неестественное окно (как определено RDW_ALLCHILDREN и флагами RDW_NOCHILDREN), чтобы получать WM_NCPAINT и сообщения WM_ERASEBKGND, если необходимо, прежде, чем функция возвращается. сообщения WM_PAINT получены в обычном времени.
RDW_UPDATENOW Вызывает неестественное окно (как определено RDW_ALLCHILDREN и флагами RDW_NOCHILDREN), чтобы получать WM_NCPAINT, WM_ERASEBKGND, и сообщения WM_PAINT, если необходимо, прежде, чем функция возвращается.


По умолчанию, окно пораженное RedrawWindow зависит от имеет данное окно стиль WS_CLIPCHILDREN. Окно Ребенка, которое - не стиль WS_CLIPCHILDREN прост; окно non-WS_CLIPCHILDREN рекурсивно подтверждено или аннулировано пока окно WS_CLIPCHILDREN не быть сталкиваться. Следующее сигнализирует управление, которое какое окно поражено функцией RedrawWindow:

Описание Флага
RDW_ALLCHILDREN Включает окно ребенка, если имеется в наличии, в перекрашивающее действие.
RDW_NOCHILDREN Исключает окно ребенка, если имеется в наличии, из перекрашивающего действия.


Обратные Величины

Если функция добивается успеха, обратная величина ненулевая.
Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, вызовите GetLastError.

Замечания

Когда RedrawWindow использован, чтобы аннулировать часть настольного окна, настольное окно не получает сообщение WM_PAINT. Чтобы перекрашивать настольную систему, приложение использует флаг RDW_ERASE, чтобы генерировать сообщение WM_ERASEBKGND.

Смотри Также

GetUpdateRect, GetUpdateRgn, InvalidateRect, InvalidateRgn, RECT, UpdateWindow


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz