怎样判断OnDraw是输出到屏幕还是到打印机

sunyard 2003-11-22 03:34:22
如题
...全文
102 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
myemailcn 2004-01-08
使用的是打印环境DC,还是显示环境DC即可
  • 打赏
  • 举报
回复
bluebohe 2004-01-08
pDC->IsPrinting()
  • 打赏
  • 举报
回复
kalakala 2003-12-22
这就看你是在哪个设备描述表里面调用绘图函数了,如果使用mfc打印框架,在print()中调用就会输出到打印机,如果在视图类中调用ondraw()就会输出到显示器。
如果用sdk,就看你在哪个描述表了。
  • 打赏
  • 举报
回复
SeekTruth 2003-11-24


ATL_DRAWINFO中不是有一个HDC吗?
  • 打赏
  • 举报
回复
carbon107 2003-11-22
CDC m_pPrintDC;
(这个写在头文件里)

//比如
//下面这些写在打印的函数里
CDC *pDC;
CPrintDialog dlg(FALSE,PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS | PD_HIDEPRINTTOFILE | PD_NOSELECTION,this);
//dlg是打印的那个对话框(设定纸张的)
m_pPrintDC.Attach(dlg.m_pd.hDC);
pDC = &m_pPrintDC;
ASSERT_VALID( pDC );

这时的pDC就是打印机的了

默认的就是视图
  • 打赏
  • 举报
回复
zhang_zhibin 2003-11-22
pDC -> IsPrinting()
  • 打赏
  • 举报
回复
flinming 2003-11-22
屏幕

onprint才是打印。。。。
  • 打赏
  • 举报
回复
ljzcom 2003-11-22
就是楼上说得 那样啦
  • 打赏
  • 举报
回复
sunyard 2003-11-22
用atl开发控件,函数OnDraw(ATL_DRAWINFO& di)中没有CDC对象变量
  • 打赏
  • 举报
回复
Pipi0714 2003-11-22
获取的HDC是屏幕的就是输出到屏幕,是打印机的就是打印机
  • 打赏
  • 举报
回复
warmchang 2003-11-22
使用pDC->IsPrinting()来判断!!
  • 打赏
  • 举报
回复
sunyard 2003-11-22
用atl编写一个控件的时候,OnDraw(ATL_DRAWINFO& di) 并没有CDC的参数
  • 打赏
  • 举报
回复
相关推荐
发帖
ATL

3233

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
帖子事件
创建了帖子
2003-11-22 03:34
社区公告
暂无公告