社区
C++ Builder
帖子详情
PageControl创建的多页面怎么打印??
ly_cong
2006-08-18 04:33:14
在Form1上有PageControl1、PageControl2、PageControl3,每个PageControl上都有画出的图形和用于说明的文字,怎么保存、打印预览、打印??
请各位高手帮助。
分数不够可专贴给分。
...全文
404
19
打赏
收藏
PageControl创建的多页面怎么打印??
在Form1上有PageControl1、PageControl2、PageControl3,每个PageControl上都有画出的图形和用于说明的文字,怎么保存、打印预览、打印?? 请各位高手帮助。 分数不够可专贴给分。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BlueDeepOcean
2006-09-04
打赏
举报
回复
寺地。
YJS050320001
2006-09-03
打赏
举报
回复
蓝姐说的很详细了 特来学习
zerofantasy
2006-09-03
打赏
举报
回复
to ly_cong:
你说的问题我刚才也遇到了,你忘了设定bmp->width和bmp->height。
BlueDeepOcean
2006-09-02
打赏
举报
回复
你把函数用错了~~
Graphics::TBitmap *bmp = new Graphics::TBitmap;
int Width = mainForm->Width;
int Height =mainForm->Height;
bmp->Canvas->CopyRect(Rect(0,0,Width,Height),
Canvas,
Rect(0,0,Width,Height));
bmp->SaveToFile("d:\\FormPages.bmp");
ly_cong
2006-09-02
打赏
举报
回复
Graphics::TBitmap *bmp = new Graphics::TBitmap;
int Width = mainForm->Width;
int Height =mainForm->Height;
bmp->Canvas->CopyRect(Rect(0,0,Width,Height),
bmp->Canvas,Rect(0,0,Width,Height));
bmp->SaveToFile("d:\\FormPages.bmp");
运行后,保存了一个图像,是0字节,什么也没有
那里错了??
急也
BlueDeepOcean
2006-09-01
打赏
举报
回复
up?
ly_cong
2006-09-01
打赏
举报
回复
up
BlueDeepOcean
2006-08-25
打赏
举报
回复
给出
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Graphics::TBitmap *bmp = new Graphics::TBitmap;
bmp->Width = PageControl1->ClientWidth;
bmp->Height = PageControl1->ClientHeight * PageControl1->PageCount;
for (int pidx = 0;pidx < PageControl1->PageCount;pidx ++)
{
PageControl1->ActivePageIndex = pidx;
bmp->Canvas->CopyRect(Rect(0,
PageControl1->Pages[pidx]->ClientHeight * pidx,
bmp->Width,
PageControl1->Pages[pidx]->ClientHeight * (pidx + 1)),
PageControl1->Canvas,
PageControl1->Pages[pidx]->ClientRect);
}
//bmp->SaveToFile("c:\\PageControl_Pages.bmp"); //测试用
TPrinter *p = new TPrinter;
p->BeginDoc();
p->Canvas->CopyRect(Rect(0,0,p->PageWidth,p->PageHeight),bmp->Canvas,Rect(0,0,p->PageWidth,p->PageHeight));
p->EndDoc();
delete p;
p = NULL;
delete bmp;
bmp = NULL;
}
//---------------------------------------------------------------------------
ln_cong
2006-08-25
打赏
举报
回复
up again
BlueDeepOcean
2006-08-25
打赏
举报
回复
修改一哈:
Graphics::TBitmap *bmp = new Graphics::TBitmap;
bmp->Width = PageControl1->ClientWidth;
bmp->Height = PageControl1->ClientHeight * PageControl1->PageCount;
for (int pidx = 0;pidx < PageControl1->PageCount;pidx ++)
{
PageControl1->ActivePageIndex = pidx;
bmp->Canvas->CopyRect(Rect(0,
PageControl1->Pages[pidx]->ClientHeight * pidx,
bmp->Width,
PageControl1->Pages[pidx]->ClientHeight * (pidx + 1)),
PageControl1->Canvas,
PageControl1->Pages[pidx]->ClientRect);
}
//bmp->SaveToFile("c:\\PageControl_Pages.bmp"); //测试用
TPrinter *p = new TPrinter;
p->BeginDoc();
p->Canvas->CopyRect(Rect(0,0,p->PageWidth,p->PageHeight),bmp->Canvas,Rect(0,0,bmp->Width,bmp->Height)); //修改了这处
p->EndDoc();
delete p;
p = NULL;
delete bmp;
bmp = NULL;
ly_cong
2006-08-24
打赏
举报
回复
up
ly_cong
2006-08-23
打赏
举报
回复
没有人能解决??
ln_cong
2006-08-22
打赏
举报
回复
up
bgqy2000
2006-08-21
打赏
举报
回复
这个要好好学学,呵呵。兰色姐姐能说详细点不,最好给点代码,嘿嘿。
ln_cong
2006-08-20
打赏
举报
回复
不明白,和一般的打印有什么区别?/
ln_cong
2006-08-20
打赏
举报
回复
up
qvcbui
2006-08-19
打赏
举报
回复
创意、自由、灵活,超强的报表功能,
独特的双数据源连接,全功能的表格组件!
http://www.anylib.com
ly_cong
2006-08-19
打赏
举报
回复
up
BlueDeepOcean
2006-08-18
打赏
举报
回复
其实不是很难,你可以利用Canvas的CopyRect的方法,将Form上的每个PageControl的区域通过TRect的方式保存下来,并利用CopyRect的方式保存到一个临时动态生成的Bitmap上,保存为文件;
如果打印的话,可以利用TPrinter *p = new TPrinter;的方式进行图片的打印,方法也很简单,就利用p->Canvas->CopyRect()函数将bmp的内容拷贝到打印机上,进行打印;
预览过程就是重画的过程。道理和利用CopyRect的方式拷贝到Bitmap上的方法一致。
delphi 真正实现实现
pagecontrol
多文档界面
首先,
PageControl
组件是VCL库中的一个容器控件,它允许在同一个界面上切换多个TabSheet
页面
,每个TabSheet可以看作一个独立的文档区域。在实现MDI时,我们可以在
PageControl
的每个TabSheet上
创建
一个Form,以此模拟...
Delphi
PageControl
组件用法
Delphi
PageControl
组件是Delphi集成开发环境中一个非常重要的组件,尤其在开发具有多个
页面
或选项卡的应用程序时,它的作用...通过灵活运用其属性、方法和事件,开发者可以
创建
出功能丰富且易于导航的多
页面
应用程序。
Delphi7-
PageControl
-Tab窗口化源码
在Delphi7编程环境中,
PageControl
是一个非常有用的组件,它允许开发者在一个容器内
创建
多个
页面
,每个
页面
可以视为一个独立的子窗口。本资源“Delphi7-
PageControl
-Tab窗口化源码”提供了一种实现,使得这些
页面
...
delphi_
PageControl
不显示标签,去掉边框
在Delphi中,
PageControl
是一个常用的组件,它用于在多个
页面
之间进行切换,通常每个
页面
由一个TabSheet组成。在默认情况下,
PageControl
会在每个TabSheet上方显示标签,以指示当前选择的
页面
。然而,有时候根据设计...
delphi 实现
pagecontrol
多文档界面
在标题中提到的"delphi 实现
pagecontrol
多文档界面",主要是指通过使用
PageControl
组件来构建一个拥有多个
页面
的用户界面,每个
页面
可以承载不同的功能或者显示不同的数据。
PageControl
通常与TabSheet或TSplitter等...
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章