RichEdit (nie ma odpowiedzi w FAQ ani na forum)

0

Witam ...
Pisze pewna aplikacje. Umiescilem w niej komponent Memo ktory dziala jak konsola, do ktorej sa wysypywane komunikat co robi wlasnie program. Ostatnio stwierdzilem, ze potrzebuje zrobic w tym wszystkim kolory i postanowilem uzyc do tego celu RichEdit-a. I teraz powstaje problem:
Potrzebuje kogos kto napisal by mi lub powiedzial jak mniej-wiecej zrobic procedury do RichEdita, ktore dzialaly by jak pascalowy Write i WriteLn. Niestety Lines.Add powoduje ze tekst sie nie przwija i musze to robic scroll-barem. Zas po uzyciu SelText niby wszystko dziala, ale jak zaraz po nim dam lines.add to mi nie przechodzi o jedna, ale o dwie linie do dolu i powstaje glupi odstep miedzy tekstami.

Uzywam Delphi 3. Nie pytajcie dlaczego :].

// popraw temat! - Deti

0

Może to wina wersji Delphi ale mi taki kod działa bez żadnego dodawania zbednych linii:

RichEdit1.SelText := 'test';
RichEdit1.Lines.Add('test2');

W każdym razie nawet jeśli to u ciebie nie działa to przecież mozesz dodawać linie takim czymś:

procedure TForm1.Button1Click(Sender: TObject);
begin
  RichEdit1.SelStart := Length(RichEdit1.Text);
  RichEdit1.SelText := #13#10'test';
  RichEdit1.SetFocus;
end;
0

Bylo w FAQ, na forum kilka razy.
Poszukaj pod "przewijanie RichEdit" or smth :]

0

Teraz taki bajer ... Jestem u kumpla i nie mam jak tego teraz sprawdzic wiec sie pytam:

  1. Czy ta procedure do przewijania trzeba wywolywac co wyslana linie czy co OnChange ?
  2. Co do tego Write, WriteLn chodzi mi przede wszystkim o to : Jak po SelText przejsc do nastepnej linii, zeby moc juz nastepnym SelText wypisac tekst w nowej linii ?

Ale ja marudze :]

0
  1. Co do tego Write, WriteLn chodzi mi przede wszystkim o to : Jak po SelText przejsc do nastepnej linii, zeby moc juz nastepnym SelText wypisac tekst w nowej linii ?

Ale ja marudze :]

[sciana] Tu sie zgodze :[ . Przejscie do nastepnj linii to jest własnie #13#10 które napisałem przed dodawanym tekstem :-/ .

0

Jeszcze ja pozwolę sobie wrzucić procedurkę na przewijanie tekstu dodawanego do RichEdita ;)

 RichEdit1->Perform(EM_SCROLLCARET,0,0);        
 RichEdit1->Perform(EM_SCROLL,SB_LINEUP,0);<cpp>

Zakładam że w Delphi będzie to wyglądało tak
<delphi> RichEdit1.Perform(EM_SCROLLCARET,0,0);        
 RichEdit1.Perform(EM_SCROLL,SB_LINEUP,0);

:D

1 użytkowników online, w tym zalogowanych: 0, gości: 1