代码之家  ›  专栏  ›  技术社区  ›  BlueRaja - Danny Pflughoeft

如何在Windows CE Direct-X应用程序中显示(打印机)对话框?

  •  1
  • BlueRaja - Danny Pflughoeft  · 技术社区  · 14 年前

    This page 说你需要打电话 PrintSetupDlg ,但是这个代码

    PAGESETUPDLG printDialog;
    ZeroMemory(&printDialog, sizeof(printDialog));
    printDialog.lStructSize = sizeof(printDialog);
    printDialog.hwndOwner = hwnd; //or = NULL
    
    PageSetupDlg(&printDialog);
    

    冻结调用PageSetupDlg时的程序-它将没有响应,我需要停止该过程。

    如何在Windows CE中打印? (在DirectX应用程序中使用C++,CE 6)

    1 回复  |  直到 14 年前
        1
  •  1
  •   BlueRaja - Danny Pflughoeft    14 年前

    结果发现,出于某些疯狂的原因,对话框只会被绘制到原始的前缓冲区,即使该缓冲区已被交换,而原始的后缓冲区现在是前缓冲区(显示在屏幕上)。

    解决方案是跟踪缓冲区被交换的次数,如果交换的次数是奇数(这会导致在显示对话框时原始前缓冲区始终是当前前缓冲区),则再次交换缓冲区。