求教C++Builder如何打印窗体

laohei0304 2013-03-22 02:13:41
如何打印窗体呢,求助啊。就是把Form1整个画面都打印出来。
...全文
608 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小菜123 2013-04-26
  • 打赏
  • 举报
回复
Form1->Print();就已经打印过了
小菜123 2013-04-26
  • 打赏
  • 举报
回复
你那代码把这些去掉是不是还能打印? TPrinter *Prntr = Printer(); //创建打印机 TRect r = Rect(200,200,Prntr->PageWidth-200,Prntr->PageHeight-200); Prntr->Copies = PrintDialog1->Copies; Prntr->BeginDoc(); //开始打印 Prntr->Canvas->Handle; //此处打印的一页,如何打印所有?? Prntr->EndDoc();
laohei0304 2013-03-22
  • 打赏
  • 举报
回复
下面是代码我试过了,可以的。
void __fastcall TForm1::Print1Click(TObject *Sender)
{
	if(PrintDialog1->Execute())
	{
		Button1->Hide();   //隐藏不想见的按钮
		Button2->Hide();
		Button3->Hide();
		Button4->Hide();
		Button5->Hide();
		Form1->Color = clWhite;
		Form1->Print();
		TPrinter *Prntr = Printer();		//创建打印机
		TRect r = Rect(200,200,Prntr->PageWidth-200,Prntr->PageHeight-200);
		Prntr->Copies = PrintDialog1->Copies;
		Prntr->BeginDoc();					//开始打印
		Prntr->Canvas->Handle;		       //此处打印的一页,如何打印所有??
		Prntr->EndDoc();
	}
}
缘中人 2013-03-22
  • 打赏
  • 举报
回复
this->Print(); 不行吗
laohei0304 2013-03-22
  • 打赏
  • 举报
回复
我忘了加Form1->Printer(); 哈哈
laohei0304 2013-03-22
  • 打赏
  • 举报
回复
用Printer()->Canvas->Handle;不能输出当前Form1啊,求助求助。
laohei0304 2013-03-22
  • 打赏
  • 举报
回复
用Printer()->Canvas->Handle; 我去试试。 这是一条记录,那如果打印多条记录呢?
缘中人 2013-03-22
  • 打赏
  • 举报
回复
laohei0304 2013-03-22
  • 打赏
  • 举报
回复
我去看看
缘中人 2013-03-22
  • 打赏
  • 举报
回复
ccrun以前有过例子用 canvas输出吧

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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