RICHTEXTBOX

IGNORANTE 05/03/2013 13:34:11
#419936
Olá

Alguém me pode ajudar na minha dúvida:

Como se controla o espaço entre linhas numa RichTextBox?

Por exemplo, com

xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxx

aumentar ou diminuir (isto é, controlar) o espaço entre elas sem usar parágrafo.

Obrigado desde já

GANDA.NICK 05/03/2013 15:59:26
#419951
Resposta escolhida
Olá,


veja se isto o ajuda:

Private Sub SetLineSpacing(HeightInTwips As Long)

[ô]This is a sample code. It is not fully optimized.
[ô]You[ô]ll need lots of RTF error checking.
[ô]See RTF specification for more details
Dim strLineSpacing As String
Dim strRtf As String

strRtf = RichTextBox1.TextRTF
strLineSpacing = [Ô]\sl[Ô] & Trim$(Str$(HeightInTwips))

[ô]Add code to remove previous LineSpacing here

strRtf = Replace(strRtf, [Ô]\pard[Ô], [Ô]\pard[Ô] & strLineSpacing, 1, -1, vbTextCompare)
RichTextBox1.TextRTF = strRtf

End Sub

Private Sub Form_Load()
RichTextBox1.Text = [Ô]Joana[Ô] & vbCrLf & [Ô]Rita[Ô]
Call SetLineSpacing(1500)
End Sub
IGNORANTE 05/03/2013 16:48:26
#419960
Obrigado

Em princípio, experimentei agora, e parace-me bem encaminhado.

Mas, aqui está a começar a noite e começou a transmissão do M United com o Real Madrid. Não posso perder!

Depois confirmo
IGNORANTE 06/03/2013 13:19:13
#420018
Olá, Ganda Nick

Só agora vi que é de Lisboa e do Sporting o que é uma grande opção!

Andei às voltas com aquele código e não consegui o que pretendo, essencialmente porque não compreendo algumas coisas.

Não percebo [Ô]\sl[Ô] e [Ô]\pard[Ô] o que significam.

O que eu desejo é colocar um botão que, depois de seleccionar um bocado do texto escrito, uma ver premido, separasse as linhas uns tantos pixeis.
Até tenho a ideia de colocar uma Combo para escolher a distância.
Também que, quando carregasse um texto, ele fosse colocado logo com a distância pré-definida.

As minhas dúvidas são imensas até porque não sei como [Ô]chamar[Ô] o texto seleccionada.

Por exemplo, com RichTextBox1.SelColor = CommonDialog1.Color, tenho o SelColor que trata de imediato a cor, mas não conheço um Sel... que considere simplesmente o texto seleccionado.
Poderia assim mandar o texto seleccionado para a Sub.

Bom, agradeço desde já toda a ajuda possível e espero não dar muita maçada.

Os melhores cumprimentos.

GANDA.NICK 06/03/2013 15:44:52
#420036
Tb não sou um entendido na matéria... achei esse exemplo na net...

[Ô]\sl[Ô] e [Ô]\pard[Ô] tem a ver com a formatação do texto acho eu, neste caso o espaço entre linhas....


Option Explicit

Private Sub SetLineSpacing(HeightInTwips As Long)

[ô]This is a sample code. It is not fully optimized.
[ô]You[ô]ll need lots of RTF error checking.
[ô]See RTF specification for more details
Dim strLineSpacing As String
Dim strRtf As String

strRtf = RichTextBox1.SelRTF
RichTextBox1.SelRTF = [Ô][Ô]
strLineSpacing = [Ô]\sl[Ô] & Trim$(Str$(HeightInTwips))

[ô]Add code to remove previous LineSpacing here

strRtf = Replace(strRtf, [Ô]\pard[Ô], [Ô]\pard[Ô] & strLineSpacing, 1, -1, vbTextCompare)
RichTextBox1.SelRTF = strRtf
End Sub

Private Sub Command1_Click()
RichTextBox1.SelLength = RichTextBox1.SelLength + 2 [ô] este 2 é para seleccionar o inicio da linha de baixo, para apanhar o vbCrLf
Call SetLineSpacing(1500)
End Sub

Private Sub Form_Load()
RichTextBox1.Text = [Ô]Joana[Ô] & vbCrLf & [Ô]Rita[Ô] & vbCrLf & [Ô]Maria[Ô] & vbCrLf & [Ô]Laura[Ô] & vbCrLf & [Ô]Madalena[Ô]
End Sub



já faz qualquer coisa, mas tá longe de ser a maneira correcta acho eu, tb nao o posso ajudar mais...
IGNORANTE 06/03/2013 16:36:47
#420041
Obrigado.

Vou estudar isto, experimentar e dpois digo.
IGNORANTE 07/03/2013 12:52:29
#420104
Ganda Nick

Já consegui parte do que pretendia e acho que sou capaz de continuar.

Obrigado pela preciosa ajuda.

Vou encerrar o post.

Cumprimentos.
Tópico encerrado , respostas não são mais permitidas