Autor Téma: RichEdit - editovatelny text medzi 2 zamknutymi castami  (Přečteno 174 krát)

Offline forget123

  • Mladík
  • **
  • Příspěvků: 74
  • Karma: 3
    • Verze Delphi: XE6
Mam RichEdit kde zaciatok textu je zamknuty, stred je editovatelny a koniec je zamknuty. Problem je ked pouzivatel zmaze tu strednu editovatelnu cast tak sa tie 2 zamknute casti spoja do jednej a uz tam nie je mozne pisat. Neviete niekto ako to poriesit?

Kód: Delphi [Vybrat]
  1. var ac : boolean = true;
  2.  
  3. procedure TForm3.RichEdit1ProtectChange(Sender: TObject; StartPos, EndPos: Integer;
  4.   var AllowChange: Boolean);
  5. begin
  6.   AllowChange := ac;
  7. end;
  8.  
  9. procedure TForm3.Button5Click(Sender: TObject);
  10. begin
  11.   ac := true;
  12.  
  13.   RichEdit1.Lines.Clear;
  14.  
  15.   RichEdit1.SelAttributes.Protected := true;
  16.   RichEdit1.SelAttributes.Style := [fsBold];
  17.   RichEdit1.SelText := 'Zamknuty prefix';
  18.   RichEdit1.SelLength := 0;
  19.  
  20.   RichEdit1.SelAttributes.Protected := false;
  21.   RichEdit1.SelAttributes.Style := [];
  22.   RichEdit1.SelText := 'Editovatelny text';
  23.   RichEdit1.SelLength := 0;
  24.  
  25.   RichEdit1.SelAttributes.Protected := true;
  26.   RichEdit1.SelAttributes.Style := [fsBold];
  27.   RichEdit1.SelText := 'Zamknuty suffix';
  28.   RichEdit1.SelLength := 0;
  29.  
  30.   ac := false;
  31. end;

Online Delfin

  • Plnoletý
  • ***
  • Příspěvků: 107
  • Karma: 0
Re:RichEdit - editovatelny text medzi 2 zamknutymi castami
« Odpověď #1 kdy: 03-07-2017, 15:03:11 »
Nenapada me nic jineho nez se s komponentou prat a po zmene (resp. pred zmenou v udalosti OnChange) text znova zamknout.

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 806
  • Karma: 19
    • Verze Delphi: D2007, XE2, XE6
Re:RichEdit - editovatelny text medzi 2 zamknutymi castami
« Odpověď #2 kdy: 03-07-2017, 23:17:46 »
Jednou jsem tohle musel dělat pro editování formuláře pro nějaký úřad (dokument byl zadán jako aktivní šablona), nechal jsem uživatele editovat pouze tu příslušnou část, ostatní jen staticky ukázal a na pozadí to před tiskem pospojoval, tj. editor fungoval jen pro jednu část textu. Dneska se vlastně už skoro nic fyzicky netiskne, takže je to jen o nastrkávání textu do šablony :(

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: