Jak w RichEdit samodzielnie bez dodatkowego komponentu zmienić fragment lini ( nie całą linie ) np. zmiana czcionki lub włączenie pogrubienia czcionki
RichEdit.SelAttributes - atrybuty zaznaczonego tekstu
RichEdit.DefAttributes - atrybuty domyślne tekstu
więcej w:
Katalog_Delphi\Demos\RichEdit\richedit.dpr
Bez użycia dodatkowych komponentów
Form37.RichEdit1.Lines.App ( 'Linia tekstu { zmiana kroju } koniec lini ');
bez dodatkowego komponentu? nie rozumiem...
ps. zapisz sobie jakis plik w richedicie z twoimi parametrami i zobacz jak wygląda w notatniku - to chyba będzie to o co ci chodzi..
po dodaniu
Form37.RichEdit1.Lines.Append ( 'wyraz \plain\f2\fs32\cf0\b drugi');
te kody mają pogrubić i powiększyć drugie słowo rozmiaru 16
po dodaniu zamienia komponent dodaje znaki \\\ zamienia
Form37.RichEdit1.Lines.Append ( 'wyraz \plain\f2\fs32\cf0\b drugi');
i zamiast zmian widzę tekst kodów
// funkcja pomocnicza do zmiany czcionki
function TForm1.CurrText: TTextAttributes;
begin
if richedit1.SelLength > 0 then Result := richedit1.SelAttributes
else Result := richedit1.DefAttributes;
end;
// przyklad uzycia
procedure TForm1.speedButton1Click(Sender: TObject);
begin
if speedbutton1.Down then
CurrText.Style := CurrText.Style + [fsBold]
else
CurrText.Style := CurrText.Style - [fsBold];
end;
wykorzystanie tego co powiedzial moj przedmowca.
kodzik znajduje sie w demosach delphi
No. A jak chcesz zmieniać atrybuty jakiegoś określonego fragmentu (nie aktualnie zaznaczonego tylko np. pierwsze litery) i chcesz zachować zaznaczenie to zapisujesz sobie gdzieś aktualne zaznaczenie, zaznaczasz tekst w którym chcesz zmieniać atrybuty, zmieniasz je przy pomocy SelAttributes, przywracasz zaznaczenie:
Start := RichEdit.SelStart;
Length := RichEdit.SelLength;
RichEdit.SelStart := xx;
RichEdit.SelLength := xx; //tu własne wartości
RichEdit.SelAttributes... //zmieniasz co chcesz
RichEdit.SelStart := Start;
RichEdit.SelLength := Length; //powrót do starego zaznaczenia