请教BCB6的RectCopy()函数.
请教BCB6的RectCopy()函数.
用BCB6写一个类似标签打印的程序,即把一张纸划分成几部分,每部分上打印相同内容。
首先想到的是RectCopy(), 结果发现如果目标是打印机的Canvas, 就什么也打不出来.
我试用《C++Builder精彩编程实例集锦》一书中, 实例134如何打印图像文件, 确实什么也打不出来.
实例134源程序中Rect设置有小错误, 我已经改正了. 改过的源程序如下:
Printer()->BeginDoc(); //开始打印
int PHeight=Printer()->PageHeight; //打印纸的Height
int PWidth=Printer()->PageWidth; //打印纸的Width
CenterX=PWidth/2;
CenterY=PHeight/2;
SDiv=2;//放大2倍打印
X1=CenterX-(PWidth/(SDiv*2));
Y1=CenterY-(PHeight/(SDiv*2));
X2=CenterX+(PWidth/(SDiv*2));
Y2=CenterY+(PHeight/(SDiv*2));
PrnRect=Rect(X1,Y1,X2,Y2); //打印纸的Rect
ImgRect=Rect(0,0,Image1->Width,Image1->Height); //屏幕的Rect
Printer()->Canvas->CopyRect(PrnRect,Form1->Canvas,ImgRect); //这一句似乎完全不起作用
Printer()->EndDoc(); //结束打印
谁能帮帮我啊? 先谢谢各位了!
[解决办法]
Form1->Canvas---你的这里是不是应该换成image1的画布,你是打印的图片呀。
[解决办法]
Bitmap1->Assign(Image1->Picture->Graphic);