Visual C++. Описание стандартных классов
Страница 5.


 
BitBlt
BOOL BitBlt(int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop);
Возвращаемое значение
Ненулевое, если функция завершилась успешно, и нулевое в противном случае.
Аргументы
"sectiontableheader"x - определяет горизонтальную координату верхнего левого угла прямоугольника в который будет копироваться битовый образ (области вывода).
"sectiontableheader"y - определяет вертикальную координату верхнего левого угла прямоугольника в который будет копироваться битовый образ.
"sectiontableheader"nWidth - определяет ширину (в логических единицах) прямоугольника в который будет копироваться битовый образ.
"sectiontableheader"nHeight - определяет высоту (в логических единицах) прямоугольника в который будет копироваться битовый образ.
"sectiontableheader"pSrcDC - указатель на объект класса CDC, определяющий контекст устройства из которого производится копирование битового образа. Если значение аргумента dwRop определяет растровую операцию для которой не требуется источника, этот аргумент должен иметь значение NULL.
"sectiontableheader"xSrc - определяет горизонтальную координату верхнего левого угла прямоугольника из которого будет копироваться битовый образ.
"sectiontableheader"ySrc - определяет вертикальную координату верхнего левого угла прямоугольника из которого будет копироваться битовый образ.
"sectiontableheader"dwRop - определяет растровую операцию, которую необходимо выполнить. Коды растровых операций определяют каким образом GDI должен комбинировать цвета при выполнении операции, включающей в себя текущую кисть, возможно, исходный битовый образ и результирующий битовый образ. Данный аргумент может принимать следующие значения:
       "sectiontableheader" BLACKNESS - закрашивает всю область вывода в черный цвет;
       "sectiontableheader" DSTINVERT - инвертирует битовый образ, расположенный в области вывода;
       "sectiontableheader" MERGECOPY - комбинирует образец и исходный битовый образ с использованием логического оператора И;
       "sectiontableheader" MERGEPAINT - комбинирует инвертированный битовый образ, расположенный в области вывода, и исходный битовый образ с использованием логического оператора ИЛИ;
       "sectiontableheader" NOTSRCCOPY - копирует инвертированный исходный битовый образ в область вывода;
       "sectiontableheader" NOTSRCERASE - инвертирует результат логического оператора ИЛИ между инвертированным битовым образом, расположенным в области вывода, и исходным битовым образом;
       "sectiontableheader" PATCOPY - заполняет область вывода с использованием образца;
       "sectiontableheader" PATINVERT - комбинирует битовый образ, расположенный в области вывода, и исходный битовый образ с использованием логического оператора ИСКЛЮЧАЮЩЕГО ИЛИ;
       "sectiontableheader" PATPAINT - комбинирует образец и инвертированный исходный битовый образ с использованием логического оператора ИЛИ. Результат этой операции комбинируется с битовым образом, расположенным в области вывода, с использованием логического оператора ИЛИ;
       "sectiontableheader" SRCAND - комбинирует элементы изображения битового образа, расположенного в области вывода, и исходного битового образа с использованием логического оператора И;
       "sectiontableheader" SRCCOPY - копирует исходный битовый образ в область вывода;
       "sectiontableheader" SRCERASE - инвертирует битовый образ, расположенный в области вывода, и комбинирует результат с исходным битовым образом с использованием логического оператора И;
       "sectiontableheader" SRCINVERT - комбинирует битовый образ, расположенный в области вывода, и исходный битовый образ с использованием логического оператора ИСКЛЮЧАЮЩЕГО ИЛИ;
       "sectiontableheader" SRCPAINT - комбинирует элементы изображения битового образа, расположенного в области вывода, и исходного битового образа с использованием логического оператора ИЛИ;
       "sectiontableheader" WHITENESS - закрашивает всю область вывода в белый цвет.
Описание
Копирует битовый образ из исходного контекста устройства в текущий контекст устройства. Приложение может выравнивать окна или их рабочие области по границе байтов для гарантии того, что функция BitBlt будет работать с прямоугольниками, выровненными по границам байт. (Для этого необходимо установить флаги CS_BYTEALIGNWINDOW или CS_BYTEALIGNCLIENT при регистрации класса окна.) Работа функции BitBlt с прямоугольниками, выровненными по границам байт, происходит намного быстрее, чем с прямоугольниками, не выровненными по границам байт. При необходимости задания стилей класса, обеспечивающих работу с прямоугольниками, выровненными по границам байт, в пользовательском контексте устройства, следует самостоятельно зарегистрировать класс окна, не полагаясь в этом на библиотеку MFC. Для этого используется глобальная функция AfxRegisterClass. Интерфейс графических устройств Windows преобразует аргументы nWidth и nHeight, используя контекст устройства в который производится копирование битового образа. Если метрики устройств не совпадают, GDI вызывает функцию Windows StretchBlt для сжатия или растяжения исходного битового образа. Если битовый образ в области вывода, исходный битовый образ и образец имеют различный формат цвета, функция BitBlt преобразует форматы исходного битового образа и образца к формату устройства вывода. При преобразовании используются как фоновый, так и основной битовые образы. При преобразовании монохромного битового образа в цветной функция BitBlt присваивает белому биту (1) цвет фона, а черному биту (0) основной цвет. При этом используются основной цвет (Foreground) и цвет фона (Background). При преобразовании цветного битового образа в монохромный функция BitBlt преобразует элементы изображения, имеющие цвет фона, в белые, а все остальные - в черные элементы изображения. Не все устройства могут работать с функцией BitBlt. Чтобы проверить возможность работы конкретного устройства с функцией BitBlt вызовите функцию GetDeviceCaps с аргументом RASTERCAPS.
CreateCompatibleDC
virtual BOOL CreateCompatibleDC(CDC* pDC);
Возвращаемое значение
Ненулевое, если функция завершилась успешно, и нулевое в противном случае.
Аргументы
"sectiontableheader"pDC - указатель на объект класса контекста устройства. Если аргумент pDC имеет значение NULL, функция создает контекст устройства памяти, совместимый с системным дисплеем.
Описание
Создает контекст устройства памяти, совместимый с устройством, определяемым аргументом pDC. Контекст устройства памяти представляет собой блок памяти, соответствующий поверхности экрана. Он может использоваться для создания в памяти изображений перед копированием их на совместимое устройство. При создании контекста устройства памяти GDI автоматически выбирает в него монохромный битовый образ размером 1х1 элемент изображения. Функции вывода информации интерфейса графических устройств могут работать с контекстом устройства памяти только в том случае, если в него был выбран объект класса битового образа. Эта функция позволяет создавать совместимые контексты устройств только для устройств, обеспечивающих возможность вывода растровых изображений. Способ передачи информации битовыми блоками описан при рассмотрении функции CDC::BitBlt. Для определения того, способно ли конкретное устройство выводить растровые изображения необходимо вызвать функцию CDC::GetDeviceCaps с аргументом RC_BITBLT.
EndDoc
int EndDoc();
Возвращаемое значение
Больше или равно нулю, если функция завершилась успешно, в противном случае возвращается значение ошибки, которое может принимать одно из следующих значений.
"sectiontableheader"SP_ERROR - неизвестная ошибка.
"sectiontableheader"SP_OUTOFDISK - недостаточно дискового пространства выделенного для спулинга и оно не может быть увеличено.
"sectiontableheader"SP_OUTOFMEMORY - недостаточно оперативной памяти для спулинга.
"sectiontableheader"SP_USERABORT - пользователь прервал печать через Диспетчер печати.
Описание
Завершает текущий сеанс печати, инициированный вызовом функции StartDoc. Эта функция служит для замены управляющей последовательности ENDDOC, посылаемой принтеру, и должна вызываться непосредственно после успешного завершения процесса печати. Если в процессе сеанса печати возникла ошибка или процесс печати был прерван пользователем, для завершения процесса печати не следует вызывать функции EndDoc или AbortDoc. GDI автоматически завершит процесс прежде, чем он выдаст сообщение об ошибке. Эта функция не должна использоваться в метафайлах.
EndPage
int EndPage();
Возвращаемое значение
Больше или равно нулю, если функция завершилась успешно, в противном случае возвращается значение ошибки, которое может принимать одно из следующих значений.
"sectiontableheader"SP_ERROR - неизвестная ошибка.
"sectiontableheader"SP_APPABORT - печать прекращена потому, что приложение завершило свою работу.
"sectiontableheader"SP_USERABORT - пользователь прервал печать через Диспетчер печати.
"sectiontableheader"SP_OUTOFDISK - недостаточно дискового пространства выделенного для спулинга и оно не может быть увеличено.
"sectiontableheader"SP_OUTOFMEMORY - недостаточно оперативной памяти для спулинга.
Описание
Данная функция информирует устройство о том, что приложение закончило передачу текущей страницы. Эта функция обычно используется для указания драйверу устройства о необходимости перейти к печати следующей страницы. Эта функция служит для замены управляющей последовательности NEWFRAME, посылаемой принтеру. В отличие от управляющей последовательности NEWFRAME данная функция всегда вызывается после печати страницы.
 
« Предыдущая статья   Следующая статья »