MFC对话框程序创建打印的诡异问题
在网上找了一个MFC源代码,下载后,自己从vs2008里面打开,运行没有任何问题。然后我自己在vs2008新建了一个工程,按照源码依样画葫芦
先创建一个对话框程序,然后新建CPrintFrame类(基类CFrameWnd),新建CPrintView类(基类CScrollView),新建CPreviewPrint类(基类CPreviewView,CScrollView后修改)。
因为类名都和源码一样,所以我就直接把源码的头文件和源文件直接复制到我新建工程的目录里。然后开始运行,诡异的事情出现了,
当我调用
m_pPrintView->SendMessage(WM_COMMAND, ID_FILE_PRINT);去直接打印的时候,执行到
OnPreparePrinting 里面 DoPreparePrinting时出错,提示遇到不适当的参数。。。
当我调用打印预览的时候,执行到
CPrintPreviewState* pState = new CPrintPreviewState;
pState->lpfnCloseProc = ProcClosePrintPreview;
if(!DoPrintPreview(AFX_IDD_PREVIEW_TOOLBAR, this, RUNTIME_CLASS(CPreviewPrint), pState))
{
TRACE0("Error: DoPrintPreview failed.\n");
AfxMessageBox(AFX_IDP_COMMAND_FAILURE);
delete pState;
}
时提示命令失败......
两边是完全同样的代码,(因为是复制过去的,甚至包括stdafx.h里面的)但是运行下来却是两种结果,难道是工程配置的问题??