shengws
驱动大牛
驱动大牛
  • 注册日期2002-03-08
  • 最后登录2010-06-21
  • 粉丝0
  • 关注0
  • 积分384分
  • 威望102点
  • 贡献值0点
  • 好评度37点
  • 原创分0分
  • 专家分0分
阅读:2158回复:1

请教如何在虚拟打印的dll中判断一页是否结束?

楼主#
更多 发布于:2007-08-06 10:46
rt,
我看了别人的程序这样判断的
BOOL APIENTRY OEMNextBand(SURFOBJ *pso, POINTL *pptl)
{
    OEMDBG(DBG_WARNING, L"OEMNextBand entry.");

    PDEVOBJ  pDevObj = (PDEVOBJ)pso->dhpdev;
    POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;

    // turn around to call Unidrv
    BOOL bRet = (pOemPDEV->m_pfnDrvNextBand)(pso, pptl);
    
    //if the page end?
    if(bRet && (pptl->x == -1L && pptl->y == -1L))
    {
    ......
                     }
}
但是有个问题,单色图像和8色图像不能够被断下来,256色以上的可以正常工作。

有谁知道的能帮我一下?
喂,小孩,你的小JJ露出来了!
shengws
驱动大牛
驱动大牛
  • 注册日期2002-03-08
  • 最后登录2010-06-21
  • 粉丝0
  • 关注0
  • 积分384分
  • 威望102点
  • 贡献值0点
  • 好评度37点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-08-06 11:58
查了一下msdn,发现判断方法是没有错误的,
msdn是这样解释的:
After all of a physical page's bands have been drawn, the function should set both members of the POINTL structure pointed to by pptl to -1.

那就是其他地方的问题了。
喂,小孩,你的小JJ露出来了!
游客

返回顶部