delphi7中Rave reports怎么显示成横向的?怎么使其每个值之间都有线格?

解决方案 »

  1.   

    线是你自己画上的,
    横向 打印只要修改RvSystem的 systemprinter属性中有一个 orientation 设为 polandscape
    我没有试过,因为没有打印机如果要用代码实现,则如下代码[注:这代码是一位好心的网友给的,得好好感觉他]:
    procedure TMainForm.SetOrient();
    var
      ADevice, ADriver, APort: String;
      ADeviceMode: THandle;
      DevMode: PDeviceMode;
    begin
     SetLength(ADevice, 255);
     SetLength(ADriver, 255);
     SetLength(APort, 255); { If ADeviceMode is zero, a printer driver is not loaded. Therefore,
       setting PrinterIndex forces the driver to load. }
     if ADeviceMode = 0 then
     begin
       Printer.PrinterIndex := Printer.PrinterIndex;
       Printer.GetPrinter(PChar(ADevice), PChar(ADriver), PChar(APort), ADeviceMode);
     end; if ADeviceMode <> 0 then
     begin
       DevMode := GlobalLock(ADeviceMode);
       try
         DevMode^.dmFields := DevMode^.dmFields or DM_ORIENTATION;
         DevMode^.dmCopies := DMORIENT_LANDSCAPE;//横向打印
         DMORIENT_PORTRAIT//竖向打印
       finally
         GlobalUnlock(ADeviceMode);
       end;
     end
     else
       raise Exception.Create('Could not set printer copies');
    end;
      

  2.   

    procedure TForm1.RvSystem1BeforePrint(Sender: TObject);
    begin
       With Sender as TBaseReport do begin
        orientation:=polandscape;
      end;
    end;