Fórum Quebra de linha em campo Memo... #262483
17/12/2004
0
estou queimando neuronios p/ efetuar uma quebra de linha manual, pois com a opcao do campo Memo WordWrap:=True a quebra de linha ocorre de forma automatica, mas esse tipo de quebra esta interferindo no label de um relatorio(QReport) pois se o usuario nao usa CTRL+ENTER p/ quebrar o texto, no label nao apresenta quebra, caso contrario aparece...portanto estou com o seguinte codigo no envento OnChange do Componente:
[b:aca43af34e]procedure TFGRIndividual.ETextoChange(Sender: TObject);
var linha,coluna:integer;
begin
ActiveControl:=ETexto;
With ETexto do
begin
linha:= Perform(EM_LINEFROMCHAR,SelStart, 0);
coluna:= SelStart - Perform(EM_LINEINDEX, linha, 0);
if coluna=70 then
begin
// aqui esta minha duvida:qual comando utilizaria p/ posicionar o cursor na linha abaixo
end;
end;
end;[/b:aca43af34e]
Att, Maiki Perin.
Maikiperin
Curtir tópico
+ 0Posts
17/12/2004
Dopi
Quais são os caracteres que são inseridos no Memo.Text quando o usuário dá um ENTER ou CTRL-ENTER ?
Analisando isso... vc pode usar o StringReplace e trocar todos os ENTER por CTRL-ENTER antes de gravar o memo, ou antes de apresenta-lo no Relatorio
Geralmente a quebra de linha é: #13+10
Gostei + 0
17/12/2004
Maikiperin
nao sao inseridos nenhum caractere, o CTRL+ENTER e somente uma tecla q quando solicitada da uma quebra de linha....
Gostei + 0
17/12/2004
Dopi
Um Enter consume 1 byte do memo, portanto é um caracter...
Veja:
Insira no seu programa ShowMessage( Memo1.Text )
Faça um breakpoint nessa mesma linha.
Pare com o mouse sobre a palavra TEXT
Vece verá a String Resultante do Memo... os caracteres que iniciam com $ como $D10 (ou algo parcido) são os caracteres NAO visiveis..
Deve haver distinçao no caracter inserido quando há CTR-ENTER ou ENTER.... O que estou sugerindo é vc usar o StringReplace e transformar todos os SoftLineBreak por HardLineBreak
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)