Метод IPrintOemDriverUni::D rvXMoveTo (prcomoem.h)
Метод IPrintOemDriverUni::DrvXMoveTo
предоставляется драйвером Unidrv, чтобы подключаемый модуль отрисовки может уведомлять драйвер изменений положения курсора x..
Синтаксис
HRESULT DrvXMoveTo(
PDEVOBJ pdevobj,
INT x,
DWORD dwFlags,
[out] OUT INT *piResult
);
Параметры
pdevobj
Указатель на структуру DEVOBJ вызываемого абонента.
x
Указанное вызывающим значением, представляющее количество единиц, которые необходимо переместить курсор. Единица определяется флагами MV_GRAPHICS в dwFlags.
dwFlags
Один или несколько следующих флагов битов, предоставленных вызывающим абонентом:
Флаг | Определение |
---|---|
MV_GRAPHICS |
Если задано, значение параметра x выражается в точках на основе текущего разрешения принтера. Например, если разрешение x равно 150 DPI и x равно 75, движение равно ?? дюйм.
Если параметр не задан, значение параметра x выражается в основных единицах. Например, если главный блок x равен 600, а x равен 300, то движение равно ?? дюйм. |
MV_PHYSICAL |
Если задано, значение параметра x относительно источника курсора.
Если параметр не задан, значение параметра x относительно источника области печати. Невозможно задать, если задано MV_RELATIVE. |
MV_RELATIVE |
Если задано, указывает, что курсор должен быть перемещен x единиц из текущей позиции.
Если не задано, указывает, что курсор должен быть перемещен x единиц из источника. |
MV_UPDATE |
Если задано, указывает, что Unidrv должен обновить текущее вычисление позиции курсора без фактического перемещения курсора. (Следует задать, если IPrintOemUni::ImageProcessing перемещен курсор.) Если параметр не задан, указывает, что Unidrv должен обновить текущее вычисление позиции курсора, а также переместить курсор. |
[out] piResult
Получает полученный методом результат вычитания фактической новой позиции курсора из запрошенной позиции нового курсора. Это значение может быть равно нулю, но оно всегда не является ненужным.
Возвращаемое значение
Метод должен возвращать одно из следующих значений.
Возвращаемый код | Описание |
---|---|
|
Операция завершилась успешно. |
|
Сбой операции. |
|
Метод не реализован. |
Замечания
Методы IPrintOemDriverUni::DrvXMoveTo
и IPrintOemDriverUni::D rvYMove To позволяют подключаемым модулям отрисовки отправлять данные изображения в spooler принтера, не приводя к потере отслеживания положения курсора принтера. Если вы предоставляете метод IPrintOemUni::ImageProcessing, который отправляет данные изображения непосредственно в средство spooler печати, а не возвращает его драйверу принтера, метод должен вызывать IPrintOemDriverUni::DrvXMoveTo
и IPrintOemDriverUni::DrvYMoveTo
.
Для обновления позиции курсора можно использовать любой из двух методов:
-
Каждый раз, когда метод IPrintOemUni::ImageProcessing должен обновить положение курсора, он может вызывать
IPrintOemDriverUni::DrvXMoveTo
илиIPrintOemDriverUni::DrvYMoveTo
с флагом MV_UPDATE снят. Это приводит к тому, что Unidrv отправляет команды курсора в средство spooler печати и обновляет внутреннее вычисление текущей позиции курсора. -
Метод IPrintOemUni::ImageProcessing может обновить курсор, отправив команды курсора непосредственно в средство spooler печати. После завершения операции spooling метод может вызывать
IPrintOemDriverUni::DrvXMoveTo
илиIPrintOemDriverUni::DrvYMoveTo
с набором флагов MV_UPDATE. Это приводит к тому, что Unidrv обновляет внутреннее вычисление текущей позиции курсора без отправки команд курсора в средство spooler печати.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | prcomoem.h (include Prcomoem.h) |