求大神给一个VS2010MFC中打印编辑框文本的代码

如题所述

如果知道打印设备名称则:

首先获取你的编辑框文本:

假设你的类对像是 Edit;

CString str;
Edit.GetWindowText(str);
...

CDC dc;
dc.CreateDC(NULL,_T("你的打印设备名称"),NULL,NULL);
...//各种dc的操作  例如dc.DrawText(...)

如果不知道设备名称那就输出到默认的打印机名称中

CDC dc;
CPrintDialog dlg(FALSE);
dlg.GetDefaults();
dc.Attach(dlg.GetPrinterDC());
...//各种dc的操作  例如dc.DrawText(...)

追问

亲!麻烦你详细点,我是个初学者。

追答void CPrintDiaDlg::OnBnClickedButton1() //打印按钮消息
{
// TODO: 在此添加控件通知处理程序代码
CString str;
GetWindowText(str);
if( str.GetLength() == 0 ) return;
CDC dc;
CPrintDialog dlg(FALSE);
dlg.GetDefaults();
dc.Attach(dlg.GetPrinterDC());
dc.StartPage(); //开始打印
dc.TextOutA(0,0,str);
dc.EndPage(); //结束打印
dc.DeleteDC();
}

追问

亲,还是想麻烦你一下假设我的控件ID为IDC_EDIT1,类型为double,成员变量名为m_p1。打印机名称为AAA。麻烦你将代码再写一遍。谢谢!

追答void CPrintDiaDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CString str;
GetWindowText(str);
if( str.GetLength() == 0 ) return;
CDC dc;
//CPrintDialog dlg(FALSE);
//dlg.GetDefaults();
//dc.Attach(dlg.GetPrinterDC());
int last=dc.CreateDC(NULL,_T("AAA"),NULL,NULL);
if( !last ) return;
dc.StartPage(); //开始打印
dc.TextOutA(0,0,str);
dc.EndPage(); //结束打印
dc.DeleteDC();
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答