X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
嵌入式系统
EVC下打印的问题
yunfei1019
2009-5-18 14:47
楼主
我用EVC新建了个单文档带打印功能的工程。想实现直接打印的功能,也就是说在直接按一下打印按钮就可以打印了,不弹出设置的对话框。代码如下。。。
// documentView.cpp : implementation of the CDocumentView class
//
#include "stdafx.h"
#include "document.h"
#include "documentDoc.h"
#include "documentView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDocumentView
IMPLEMENT_DYNCREATE(CDocumentView, CEditView)
BEGIN_MESSAGE_MAP(CDocumentView, CEditView)
//{{AFX_MSG_MAP(CDocumentView)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CEditView::OnFilePrint)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDocumentView construction/destruction
CDocumentView::CDocumentView()
{
// TODO: add construction code here
}
CDocumentView::~CDocumentView()
{
}
BOOL CDocumentView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
BOOL bPreCreated = CEditView::PreCreateWindow(cs);
cs.style &= ~(ES_AUTOHSCROLL|WS_HSCROLL); // Enable word-wrapping
return bPreCreated;
}
/////////////////////////////////////////////////////////////////////////////
// CDocumentView drawing
void CDocumentView::OnDraw(CDC* pDC)
{
CDocumentDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CDocumentView printing
BOOL CDocumentView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default CEditView_WCE preparation
[color=#FF0000]pInfo->m_bDirect=TRUE;[/color]
return DoPreparePrinting(pInfo);
}
void CDocumentView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
// Default CEditView_WCE begin printing.
CEditView::OnBeginPrinting(pDC, pInfo);
}
void CDocumentView::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo)
{
// Default CEditView_WCE end printing
CEditView::OnEndPrinting(pDC, pInfo);
}
/////////////////////////////////////////////////////////////////////////////
// CDocumentView diagnostics
#ifdef _DEBUG
void CDocumentView::AssertValid() const
{
CEditView::AssertValid();
}
void CDocumentView::Dump(CDumpContext& dc) const
{
CEditView::Dump(dc);
}
CDocumentDoc* CDocumentView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CDocumentDoc)));
return (CDocumentDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CDocumentView message handlers
但是老是提示
D:\test\document\documentView.cpp(73) : error C2039: 'm_bDirect' : is not a member of 'CPrintInfo'
请问是什么问题,或者有什么解决办法??谢谢大家栏
点赞
回复评论 (8)
沙发
kk02157882
从 MFC 3.0 升级到 8.0 后不受支持的 eVC 类的列表
CPrintInfo Members
evc不支持CPrintInfo 的成员
点赞
2009-5-18 14:56
板凳
linyis
哪要如何实现这个功能呢
点赞
2009-5-18 14:59
4楼
916114
你在这个函数中自己加一个可控的全局变量吧
BOOL CDocumentView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default CEditView_WCE preparation
pInfo->m_bDirect=TRUE;替换掉它
return DoPreparePrinting(pInfo);
}
点赞
2009-5-18 15:08
5楼
gongjun51201314
帮助文档上说
Remarks
MFC for Windows CE does not support the following data members of the CPrintInfo class:
CPrintInfo:: m_bDocObject
CPrintInfo:: m_bPreview
CPrintInfo:: m_bDirect
CPrintInfo:: m_nNumPreviewPages
CPrintInfo:: m_nOffsetPage
CPrintInfo:: m_dwFlags
Requirements
Windows CE versions: 2.10 and later
Header file: Declared in Afxext.h
点赞
2009-5-18 15:16
6楼
306228
提示:
作者被禁止或删除 内容自动屏蔽
点赞
2009-5-18 15:22
7楼
byahui
那句代码是我加上去的。去掉了是能打印,但是会出现Print对话框。
点赞
2009-5-18 15:29
8楼
liuzh
EVC是不支持这个数据成员把,是否还有其他方法吗??
点赞
2009-5-18 15:48
9楼
han001
void CMyDialog::Print()
{
CDC dc;
CPrintDialog printDlg(FALSE);
if (printDlg.DoModal() == IDCANCEL) // Get printer settings from user
return;
dc.Attach(printDlg.GetPrinterDC()); // Get and attach a printer DC
dc.m_bPrinting = TRUE;
CString strTitle; // Get the application title
strTitle.LoadString(AFX_IDS_APP_TITLE);
DOCINFO di; // Initialise print document details
::ZeroMemory (&di, sizeof (DOCINFO));
di.cbSize = sizeof (DOCINFO);
di.lpszDocName = strTitle;
BOOL bPrintingOK = dc.StartDoc(&di); // Begin a new print job
// Get the printing extents and store in the m_rectDraw field of a
// CPrintInfo object
CPrintInfo Info;
Info.m_rectDraw.SetRect(0,0,
dc.GetDeviceCaps(HORZRES),
dc.GetDeviceCaps(VERTRES));
OnBeginPrinting(&dc, &Info); // Call your "Init printing" function
for (UINT page = Info.GetMinPage();
page <= Info.GetMaxPage() && bPrintingOK;
page++)
{
dc.StartPage(); // begin new page
Info.m_nCurPage = page;
OnPrint(&dc, &Info); // Call your "Print page" function
bPrintingOK = (dc.EndPage() > 0); // end page
}
OnEndPrinting(&dc, &Info); // Call your "Clean up" function
if (bPrintingOK)
dc.EndDoc(); // end a print job
else
dc.AbortDoc(); // abort job.
dc.DeleteDC(); // delete the printer DC
}
点赞
2009-5-19 14:59
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
STM32中断问题
防火卷帘门控制器的研制
CCSv5链接Beaglebone无法配置,求解
求基于IAR编译软件的嵌入汇编例程
电路防雷知识(转帖)
Microchip推出先进安全功能的16位芯片
发现vcc与gnd之间阻值几百欧,双向导通的,对74hc133D,有啥影响
技术分析:汤唯遭电信诈骗21万元的细节
GPRS在IPCP协商之后的这一帧是什么帧?
∑ -μ04 HELP2416 中Uboot编译
分享ARM7学习经验—12864液晶显示(五)
PCB布局布线——图中的晶振PCB设计存在什么问题,欢迎讨论。
贵站在浪费大家的时间,望改进。。。
PN结问题
wince platform builder 更新/pb 5.0集成.net cf 2.0
模型ADS 网站
2009年全国电子大赛模块资料大全(欢迎补充)
【AutoChips AC7801x电机demo板测评】+关键外设测试-ADC和PWM
FrameBuffer驱动和Lcd驱动的关系
用于停车辅助的汽车超声波传感模块参考设计
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复