|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Drawing Without the WM_PAINT Message
Although applications carry out most drawing operations while the WM_PAINT message is processing, it is sometimes more efficient for an application to draw directly in a window without relying on the WM_PAINT message. This can be useful when the user needs immediate feedback, such as when selecting text and dragging or sizing an object. In such cases, the application usually draws while processing keyboard or mouse messages.
To draw in a window without using a WM_PAINT message, the application uses the GetDC or GetDCEx function to retrieve a display DC for the window. With the display DC, the application can draw in the window and avoid intruding into other windows. When the application has finished drawing, it calls the ReleaseDC function to release the display DC for use by other applications. When drawing without using a WM_PAINT message, the application usually does not invalidate the window. Instead, it draws in such a fashion that it can easily restore the window and remove the drawing. For example, when the user selects text or an object, the application typically draws the selection by inverting whatever is already in the window. The application can remove the selection and restore the original contents of the window by simply inverting again.
The application is responsible for carefully managing any changes it makes to the window. In particular, if an application draws a selection and an intervening WM_PAINT message occurs, the application must ensure that any drawing done during the message does not corrupt the selection. To avoid this, many applications remove the selection, carry out usual drawing operations, and then restore the selection when drawing is complete.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Чертеж Без Сообщения WM_PAINT
Хотя приложения выполняют рисующие действия пока сообщение WM_PAINT обрабатывается, оно иногда более эффективное для приложения, чтобы делать непосредственно в окне не доверяясь в сообщение WM_PAINT. Это может быть полезным когда потребителю нужно безотлагательная обратная связь, как например, при выборе текста и перемещения или калибровки объекта. В таких случаях, приложение обычно делает при обрабатывающих клавишных или сообщениях мыши.
Чтобы втягивать окно не используя сообщение WM_PAINT, приложение использует GetDC или функцию GetDCEx, чтобы извлекать показ DC для окна. С показом DC, приложение может втянуть окно и избегать вторгаться в другое окно. Когда приложение завершило чертеж, оно вызывает функцию ReleaseDC, чтобы выпускать показ DC для использования другими приложениями. При чертеже не используя сообщение WM_PAINT, приложение обычно не аннулирует окно. Взамен, это втягивает такой способ, который он может легко восстановить окно и удалять чертеж. Например, когда потребитель выбирается текст или объект, приложение обычно делает выбором инвертируя все, что - уже в окне. Приложение может удалить выбор и восстанавливать оригинальное содержание окна просто инвертируя снова.
Приложение ответственное за тщательно управлять любыми изменениями, которыми он делает в окно. В конкретном, если приложение делает выбором и вмешивающееся сообщение WM_PAINT происходит, приложение должно гарантировать, что любой чертеж сделанный в течение сообщения не искажает выбор. Для того, чтобы избегать это, много приложений удаляют выбор, выполните обычно рисующие действия, затем восстановите выбор когда чертеж завершен.
|
|
|
|
| |