在CFormView中对打印机的支持问题

auroraiel 2003-03-31 11:38:56
我用的是单文档,继承了CFormView,并带有打印支持,打印功能一切正常;可是我又新生成了一个CFormView的派生类,并使它成为当前视图显示出来,这时打印功能不好使
...全文
85 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
professional9344 2003-03-31
  • 打赏
  • 举报
回复
你需要定制对话框右击CFormView选择 addwindowmessagehandler
进一步选择commamd 和 ID_FILE_PRINT
ok,下面你自己搞定吧
auroraiel 2003-03-31
  • 打赏
  • 举报
回复
问题已解决,是因为我没有继承它的虚函数
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual void OnInitialUpdate(); // called first time after construct
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo);
这个必须加进去,否则出错
auroraiel 2003-03-31
  • 打赏
  • 举报
回复
如果不用切换在应用类中指定我所新建的类也是出错
auroraiel 2003-03-31
  • 打赏
  • 举报
回复
不行,还是有错误,我在框架里切换代码为:

CView* pOldActiveView=GetActiveView();
CCreateContext context;
context.m_pCurrentDoc=GetActiveDocument();
context.m_pNewViewClass=RUNTIME_CLASS(CNewFormView);
CView* pNewView=STATIC_DOWNCAST(CView,CreateView(&context));
if(pNewView!=NULL)
{
pNewView->ShowWindow(SW_SHOW);
pNewView->OnInitialUpdate();
SetActiveView(pNewView);
RecalcLayout();
pOldActiveView->DestroyWindow();
}

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧