一个对话框中的一个按钮,想把这个对话框打印下来,下面是我看的别人的代码,结果是,能打印,但是是空白纸,什么也没有,求教该怎么做?代码如下:
CPrintDialog print(false);
  if(print.DoModal()==IDOK)
  {
    CDC printcd;
    printcd.Attach(print.GetPrinterDC());    DOCINFO pdoc;
    pdoc.cbSize=sizeof(pdoc);
    pdoc.lpszDocName="pdoc";
    pdoc.lpszDatatype=NULL;
    pdoc.fwType=NULL;
    pdoc.lpszOutput=NULL;
    if(printcd.StartDoc(&pdoc)>=0)
    {
        LOGFONT logfont;
        memset(&logfont,0,sizeof(LOGFONT));
        logfont.lfHeight=75;
        
        CFont font;
        CFont *oldfont=NULL;
        if(font.CreateFontIndirect(&logfont))
           oldfont=(CFont*)printcd.SelectObject(&font);
        for(int i=1;i<3;i++)
       {
             CString stt;
            stt.Format(_T("第%d页  test print file  %d"),i,i);
            
            printcd.StartPage();
            printcd.TextOut(0,100,stt);
            printcd.EndPage();
        }        font.DeleteObject();
        if(oldfont!=NULL)  printcd.SelectObject(oldfont);
      printcd.EndDoc();
    }
    printcd.DeleteDC();
  }

解决方案 »

  1.   

    print(FALSE,PD_ALLPAGES|PD_ALLPAGES|PD_NOPAGENUMS,NULL); 
      

  2.   

    CPrintDialog print(false);
    CPrintDialog print(FALSE,PD_ALLPAGES|PD_ALLPAGES|PD_NOPAGENUMS,NULL);  
      

  3.   

    打印对话框干嘛,你是要打印文档吗,mfc深入浅出中有讲解,我没认真看,你可以参考一下
      

  4.   

    老兄,你这句有错误啊error C2064: term does not evaluate to a function