[delphi] RTF plakken, met niet alle opmaak

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
Dag allen, ik heb een mooie RichEdit (geen gewone, een gebaseerd op RichEdit 2.0 en met unicode support), en daarin moet tekst uiteraard geplakt kunnen worden. Nu wil het dus dat het geen normale teksteditor aan het worden is, maar iets specifieks, waardoor eigenlijke alle opmaak *behalve* de tekstgrootte zinvol is.

Nu vroeg ik me dus af of op een simpele manier alle opmaak behalve de lettergrootte van de geplakte tekst verwijderd kan worden. Moet ik dan RTF gaan parsen of is er een handige manier? Ik zelf nml al geprobeerd de RTF te gaan parsen, maar het ene programma (waar het vandaan komt) maakt het nog cryptischer dan de ander, zodat ik bij ieder nieuw programma waarvaan RTF ge-copy-peest kan worden, kan gaan zitten debuggen. Ik vind het ook niet netjes op *alle* opmaak weg te laten, al is dat wel heel erg simpel, door gewoon CF_TEXT of CF_UNICODETEXT uit het klembord te vissen.

Iemand een creatieve oplossing?

日本!🎌


  • JER00N
  • Registratie: Maart 2002
  • Niet online
Gewoon met iets als dit?:

Delphi:
1
2
3
4
5
6
7
RichEdit1.SelStart := 0;
RichEdit1.SelLength := RichEdit1.GetTextLen;

RichEdit1.SelAttributes.Font.Color := clWindowText;
RichEdit1.SelAttributes.Font.Style := [];
RichEdit1.SelAttributes.Font.Name := 'MS Sans Serif';
RichEdit1.SelLength := 0;


Hiermee selecteer je 'onzichtbaar' alle tekst en maak je de kleur, style en fontnaam gewoon 'default', terwijl de fontsize hetzelfde blijft.

[ Voor 15% gewijzigd door JER00N op 12-02-2004 16:49 ]


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
Probleem is dus dat RichEdit 2.0 ontzettend veel opmaak-dingen ondersteunt, veel meer dan alleen font...

日本!🎌


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 07:34

Tomatoman

Fulltime prutser

Je kunt de inhoud van het klembord in een onzichtbare, lege RichEdit plakken, alle tekst selecteren en dezelfde fontgrootte geven en vervolgens de hele hap naar de eigenlijke RichEdit kopiëren. Tenslotte de onzichtbare RichEdit weer leegmaken, zodat hij klaarstaat voor de volgende plakactie.

Een goede grap mag vrienden kosten.