Ir para conteúdo
Fórum Script Brasil
  • 0

Visualizar Impressão


Guest Isabela

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0
Alguém por me explicar como faço pra colocar o visualizar impressão em um wordpad feito em Delphi?
Isabela, não seria o caso de utilizar um componente tipo o quickreport para mostrar seu texto?! :unsure: Provavelmente você está utilizando um componente TRichEdit para o editor, não?

Link para o comentário
Compartilhar em outros sites

  • 0

Boa Micheus!!!

Isabela você pode fazer assim!!

1 - coloca um QuickRep no seu form

2 - vai nas propriedades do QuickRep em bands e coloque Has Title = true(isso cria uma banda titulo pra você)

3- coloca o componente QRRichText(da banda QReport) dentro da banda title

e coloque esse comando em um button

procedure TForm1.Button1Click(Sender: TObject);

Var

ms :TMemoryStream;

begin

ms := TMemoryStream.Create;

RichEdit1.Lines.SaveToStream(ms);

ms.Position := 0;

QRRichText1.Lines.LoadFromStream(ms);

ms.Free;

QuickRep1.Preview;

end;

esse codigo salva o conteudo do seu RichEdit1 em uma variavel MemoryStream e depois oQRRichText1 carrega o conteudo dessa variavel, dessa forma o seu teste mantem a formatação!!

ps: você pode colocar o seu QuickRep em um formulario aparte(Fica mais proficional).

Editado por Erso
Link para o comentário
Compartilhar em outros sites

  • 0

Erso, este procedimento (utilizar um TMemoryStream - intermediário) resolve o "bug" que há no componente TQRRichEdit que ao ser associado a um TRichEdit, herda também sua cor (a do fundo) - assim se a cor de fundo do RichEdit é clWindow, ao visualizar, o texto o fundo da área aparecerá nesta cor, independente de você ter configurado com clWhite a cor do TQRRichEdit.

Se isto não for um problema, e seguindo sua sugestão de utilizar outro form para alojar o QuickReport (digamos, FrmPreviewRTF), então bastaria apenas criar um procedimento neste form em que você recebe o TRichEdit do editor e no corpo do procedimento atribui o mesmo a propriedade ParentRichEdit do TQRRichEdit. Na visualização a área do texto terá a cor da do fundo do RichEdit do editor, mas na impressão este fundo não será impresso - fica "branco".

No evento OnClick do botão preview na tela do editor

// estou também supondo que o FrmPreviewRTF será criado em tempo de execução
procedure TEditor.BtnPreviewClick(Sender :TObject);
begin
  FrmPreviewRTF := TFrmPreviewRTF.Create(Self);
  try
    FrmPreviewRTF.PreviewRTF(RichEdit1);
  finally
    FrmPreviewRTF.Free;
  end;
end;
Procedimento no form TFrmPreviewRTF para visualização do texto
type
  TFrmPreviewRTF = class(TForm)
    ...
  public
    procedure PreviewRTF(RichEdit :TRichEdit);
  end;
...
procedure TFrmPreviewRTF.PreviewRTF(RichEdit :TRichEdit);
begin
  QRRichText1.ParentRichEdit := RichEdit;
  QuickRep1.Preview;
end;

Isabela, algumas dicas com relação a construção do preview no QuickReport.:

- Adicione uma banda detalhe sem preocupar-se com sua altura - pode ser mínima;

- Coloque o TQRRichEdit nela e o importante é que você ajuste a largura; A altura, pode deixar mínima, mas habilite a propriedade AutoStretch (True);

- Se você vai configurar margens e similares, você pode alterar esses parâmetros no quick sem problemas, mas lembre-se de mudar a largura do TQRRichEdit de acordo com a largura da banda detalhe (para evitar cortes ou erros na formatação);

Boa sorte.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...