IPrintOemDriverUni::D rvXMoveTo 方法 (prcomoem.h)
方法 IPrintOemDriverUni::DrvXMoveTo
由 Unidrv 驱动程序提供,因此 呈现插件 可以通知驱动程序光标 x 位置更改。
语法
HRESULT DrvXMoveTo(
PDEVOBJ pdevobj,
INT x,
DWORD dwFlags,
[out] OUT INT *piResult
);
参数
pdevobj
调用方提供的指向 DEVOBJ 结构的指针。
x
调用方提供的值表示光标应移动的单位数。 单元由 dwFlags 中的MV_GRAPHICS标志定义。
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 rvYMoveTo 方法允许呈现插件将图像数据发送到打印机后台处理程序,而不会使打印机驱动程序失去打印机光标位置的跟踪。 如果提供 IPrintOemUni::ImageProcessing 方法,该方法将图像数据直接发送到打印后台处理程序,而不是将其返回到打印机驱动程序,则该方法应调用 IPrintOemDriverUni::DrvXMoveTo
和 IPrintOemDriverUni::DrvYMoveTo
。
以下两种方法之一可用于更新游标位置:
-
每当 IPrintOemUni::ImageProcessing 方法需要更新光标位置时,它都可以调用
IPrintOemDriverUni::DrvXMoveTo
或IPrintOemDriverUni::DrvYMoveTo
,并清除MV_UPDATE标志。 这会导致 Unidrv 将光标命令发送到打印后台处理程序,并更新其当前游标位置的内部计算。 -
IPrintOemUni::ImageProcessing 方法可以通过将游标命令直接发送到打印后台处理程序来更新光标。 方法完成后台处理程序操作后,可以调用
IPrintOemDriverUni::DrvXMoveTo
或IPrintOemDriverUni::DrvYMoveTo
并设置MV_UPDATE标志。 这会导致 Unidrv 更新当前游标位置的内部计算,而无需将游标命令发送到打印后台处理程序。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (包括 Prcomoem.h) |