你可以将FR_View单元中的procedure TfrPreviewForm.PrintBtnClick(Sender: TObject); 改写为以下是在预览的时候有边框,但打印的时候没有边框了: var I,J:Integer; V:TfrView; begin For I:= 0 to (TfrReport(Doc).Pages.Count - 1) do For J:=0 to (TfrReport(Doc).Pages.Pages[I].Objects.Count - 1) do Begin V:=TfrReport(Doc).Pages.Pages[I].Objects[J]; If (V Is TfrLineView) then TfrLineView(V).Visible:=False; End; TfrReport(Doc).PrepareReport; Connect(Doc); N3click(N1001); 。。 End; 这样是可以解决问题但是活动性太差,最好是增加代码后将控件重新编译 或者是截获电击打印按纽时的消息,我也是这个问题好郁闷,我也急着解决这个问题。
改写为以下是在预览的时候有边框,但打印的时候没有边框了:
var
I,J:Integer;
V:TfrView;
begin
For I:= 0 to (TfrReport(Doc).Pages.Count - 1) do
For J:=0 to (TfrReport(Doc).Pages.Pages[I].Objects.Count - 1) do
Begin
V:=TfrReport(Doc).Pages.Pages[I].Objects[J];
If (V Is TfrLineView) then
TfrLineView(V).Visible:=False;
End; TfrReport(Doc).PrepareReport;
Connect(Doc);
N3click(N1001);
。。
End;
这样是可以解决问题但是活动性太差,最好是增加代码后将控件重新编译
或者是截获电击打印按纽时的消息,我也是这个问题好郁闷,我也急着解决这个问题。
WM_COMMAND消息只能截获WM_LBUTTONUP消息判断点击是不是在画的区域
预览之后打印之前,但是这个事件有个问题:你如果想在这个事件中
写改变报表的内容,预览不能被刷新
不过我不知道你是什么问题,你可以试试。