Ir para conteúdo
Fórum Script Brasil

Paul

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Paul

Paul's Achievements

0

Reputação

  1. Paul

    Justificar Texto

    Essa é uma versão simplificada para justificar texto em tela ou em impressão no Quick Use essa função abaixo passando True para o windows entender que voce quer justificar texto, e false para justificar os paragrafos envolvidos no texto selecionado ou o parágrafo em que se encontra o cursor. procedure JustificaRichEdit(RichEdit: TRichEdit; Aplicar: Boolean = False); const TO_ADVANCEDTYPOGRAPHY = $1; EM_SETTYPOGRAPHYOPTIONS = (WM_USER + 202); // EM_GETTYPOGRAPHYOPTIONS = (WM_USER + 203); var ParaFormat: TParaFormat; begin // Danilo, 10/2010 SendMessage(RichEdit.handle, EM_SETTYPOGRAPHYOPTIONS, TO_ADVANCEDTYPOGRAPHY, TO_ADVANCEDTYPOGRAPHY); if Aplicar then begin ParaFormat.cbSize := SizeOf(ParaFormat); ParaFormat.dwMask := PFM_ALIGNMENT; ParaFormat.wAlignment := PFA_JUSTIFY; SendMessage(RichEdit.handle, EM_SETPARAFORMAT, 0, LongInt(@ParaFormat)); end; end; Para justificar a impressão, crie o relatório num form comum, adicione TRichText e em seguida seu QReport. No FormCreate adicione o código JustificaRichEdit(TRichText1); No seu TQRRichText preencha a propriedade ParentRichEdit com o seu TRichText1. No beforePrint da banda que está o seu TQRRichText adicione, adaptando para sua necessidade, o código abaixo: procedure TfRLSpa0011.bDadosBeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); var ssTemp: TStringStream; x: Integer; Tag, Corpo: String; begin Corpo := dmCMP.qry.FieldByName('texto').AsString; for x := 0 to dmCMP.qry.FieldCount - 1 do begin Tag := '[*' + dmCMP.qry.Fields[x].FieldName + '*]'; if Pos(Tag, Corpo) > 0 then Corpo := StringReplace(Corpo, Tag, Trim(dmCMP.qry.Fields[x].AsString), [rfIgnoreCase,rfReplaceAll]); end; ssTemp := TStringStream.Create(Corpo); TRichText1.Lines.LoadFromStream(ssTemp); // Isso mesmo, você vai atribuir o texto na TRichText1. O seu TQRRichText se encarrega de buscar o texto no TRichText1 conforme o que você preencheu na propriedade ParentRichEdit. FreeAndNil(ssTemp); end;
×
×
  • Criar Novo...