RichtEdit kody sterujące

0

Jak w RichEdit samodzielnie bez dodatkowego komponentu zmienić fragment lini ( nie całą linie ) np. zmiana czcionki lub włączenie pogrubienia czcionki

0

RichEdit.SelAttributes - atrybuty zaznaczonego tekstu
RichEdit.DefAttributes - atrybuty domyślne tekstu

więcej w:
Katalog_Delphi\Demos\RichEdit\richedit.dpr

0

Bez użycia dodatkowych komponentów
Form37.RichEdit1.Lines.App ( 'Linia tekstu { zmiana kroju } koniec lini ');

0

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..

0

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

0
// 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

0

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

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