Cтраница 1
Операция рисования выполняется на битовом полотне. [1]
Такую операцию рисования границ ячеек таблицы можно повторять практически сколько угодно раз. [2]
Для удобства выполнения операций рисования и редахтировапт устанавливаются единицы, кратные целым числам, активизируется сетка, резким ОРТО ( движение курсора по осям, клавиша F8 на клавиатуре) и привязка. Устанавливается активизация шага, удобного для перемещения мышки. [3]
Такие контексты позволяют выполнять операции рисования без непосредственной визуализации. Если pDC NULL, функция создает контекст устройства, совместимый с экраном дисплея. [4]
Точка, которая не используется при операциях рисования и редактирования, но необходимая для размещения точек, которые используются при этих операциях. [5]
Перерисовка содержимого окна, требующая больших затрат времени на выполнение операций рисования, должна производиться асинхронно, чтобы предотвратить откладывание обработки других сообщений, и тем самым исключить блокирование работы приложения. [6]
![]() |
Вывод примера ColorKeyHole, демонстрирующий влияние новых свойств TransparentColor и AlphaBlend и интерфейс API с анимационным окном. [7] |
Еще одна важная особенность состоит в том, что для ускорения операции рисования Windows перерисовывает только так называемую область обновления. Поэтому если сделать часть окна нефункционирующей, будет перерисована только указанная область. [8]
В принципе контекст устройства вывода ( m HDC) используется только для выполнения операций рисования, а через второй контекст запрашиваются параметры. Однако этот механизм имеет смысл только для объектов класса CMetaFileDC, когда m hDC настроен на метафайл, a m hAttribDC настроен на физическое устройство вывода, параметры которого используются для рисования. Этот же механизм используется и для реализации режима предварительного просмотра печати ( print preview), который реализован в большом количестве приложений. Для этих целей могут быть использованы функции SetOut - putDC и SetAttribDC, которые позволяют приложению связывать объект класса с различными контекстами устройств для графического вывода и получения текущих параметров. [9]
Присваивание значения 0 переменной m Dragging, что информирует другие обработчики сообщений о завершении операция рисования. [10]
Преимущества, предоставляемые программируемостью I I X a, могут быть использованы при выполнении многократных операций рисования. В следующем примере сначала определяется макро для рисования цветочного лепестка, который затем вызывается несколько раз с различными модификаторами. Чтобы выполнить совокупный поворот, в этом примере используется аффинное преобразование. [11]
Если пользователь перемещает указатель мыши с нажатой кнопкой ( значение переменной m Dragging отлично от нуля), добавленный код завершает операцию рисования и строит постоянную линию. В частности, выполняются следующие действия. [12]
С другой стороны, при многократных вызовах Repaint экран каждый раз должен быть перерисован до того, как Windows сможет обработать другие сообщения. Поскольку операции рисования в вычислительном отношении очень интенсивны, ваше приложение может стать менее отзывчивым. Иногда, однако, нужно, чтобы приложение перерисовало поверхность как можно быстрее. [13]
Класс CDC обеспечивает разработчика набором функций-членов для работы с устройствами, такими как экран дисплея или принтер, а также позволяющих работать с окнами Windows в целом или только с клиентской их частью. Все операции рисования выполняются только для объектов класса CDC. Из всех классов, обеспечивающих интерфейс с контекстами устройств, только класс CDC обеспечивает разработчиков всем необходимым для реализации правильного и эффективного графического вывода, остальные классы, в основном отличающиеся конструктором и деструктором, можно считать вспомогательными. [14]
Контекст класса и частные контексты устройства используются в приложениях, которые выполняют многочисленные операции рисования. Общие контексты устройства используются в приложениях, которые лишь время от времени выполняют операции рисования. [15]