Een tekstverwerker.
In je eigen applicatie.
sgcRichEdit is de nieuwe rich text documenteditor van sgcUI. Je gebruikers schrijven brieven, contracten, notities en rapporten met stijlen, lijsten, tabellen, afbeeldingen en links. Jouw code leest en schrijft RTF, HTML, Markdown en JSON, en exporteert DOCX, PDF en PNG-pagina's.
- VCL
- FireMonkey
- C++ Builder
- WinForms
- WPF
- Avalonia
↔ Sleep de schuif om van licht naar donker te wisselen


Vroeg of laat heeft elke bedrijfsapplicatie echte documenten nodig. Een CRM schrijft brieven aan klanten, een praktijkbeheersysteem bewaart dossiernotities, een ERP slaat offertesjablonen op en een helpdesk antwoordt in opgemaakte tekst. Een gewoon memoveld is daarvoor nooit genoeg.
sgcRichEdit is een complete documenteditor die in sgcUI is ingebouwd. Hij werkt met een echt documentmodel met benoemde stijlen, lijsten met meerdere niveaus, tabellen met samengevoegde cellen, ingesloten afbeeldingen en hyperlinks, en legt het document uit in pagina's. Eén documentmodel stuurt de VCL-, FireMonkey-, WinForms-, WPF- en Avalonia-besturingselementen aan, en datzelfde model laadt, converteert en exporteert documenten ook zonder enig venster.
sgcRichEdit in 60 seconden
Stijlen, tabellen, elke taal, licht en donker, elk formaat en elk platform in één minuut. Ook op YouTube.
Een echt document, geen tekstvak
Contracten, rapporten en brieven moeten er elke keer hetzelfde uitzien als ze worden geopend. sgcRichEdit bewaart alinea's met benoemde stijlen, en de opmaak komt uit een stijlketen plus directe opmaak. Als je de stijl Kop 1 wijzigt, verandert dus elke kop in het document tegelijk.
OnLinkClick-gebeurtenis.Van dichtbij
Vet, cursief, onderstreept, doorgehaald, superscript en subscript, lettertypen, groottes, kleuren en markeringen, uitlijning, inspringing en regelafstand. Hier zie je de opmaak van het bovenstaande document op 200% zoom.

Tabellen, afbeeldingen en pagina's
De editor verdeelt het document over pagina's met zijn eigen pagina-instellingen. Alinea's worden per regel gesplitst, de koprijen van een tabel worden op elke pagina herhaald en pagina-einden blijven behouden, zodat gebruikers precies afdrukken wat ze zien. Print and PrintPreview werken op het bureaublad, en ExportToPNG rendert elke pagina op de resolutie van je keuze.




De drie pagina's van het document uit de schermafbeeldingen, geschreven door ExportToPNG op 150 DPI.
Elke taal, elke gebruiker
Japanse, Chinese en Koreaanse gebruikers typen via een input method editor, en Arabische en Hebreeuwse gebruikers schrijven van rechts naar links, vaak met Engelse woorden in dezelfde zin. sgcRichEdit toont de IME-compositie direct bij de cursor en legt die vast als één stap ongedaan maken. Bidirectionele alinea's houden de cursor en de selectie waar de lezer ze verwacht, en elke alinea heeft zijn eigen richting.

- IME-compositie direct in de tekst voor Japans, Chinees en Koreaans.
- Alinea's van rechts naar links, en gemengde Arabische en Engelse tekst op één regel. Ctrl+Right Shift en Ctrl+Left Shift stellen de alinearichting in.
- Het UI Automation-tekstpatroon op Windows, voor de VCL-, FireMonkey-, WinForms- en WPF-besturingselementen: een schermlezer leest per teken, woord, regel en alinea, kondigt de opmaak aan en volgt de cursor. Afbeeldingen worden benoemd met hun alternatieve tekst en links worden als links gemeld.
- De editorteksten in 12 talen: Engels, Spaans, Duits, Frans, Italiaans, Portugees (Brazilië), Nederlands, Pools, Turks, Japans, Koreaans en Chinees.
Licht, donker, Fluent of klassiek
sgcRichEdit is een sgcUI-besturingselement en volgt dus het applicatiethema, net als de rest van de suite. Kies de Fluent-preset en de editor en het lint krijgen de Windows 11-look. Schakel over op donker en het lint, de statusbalk en de backstage worden donker, terwijl de pagina wit blijft, zoals papier.



uses
sgcUICore_Theme;
// the Windows 11 look for every sgcUI control, sgcRichEdit included
sgcUISetApplicationThemePreset('Fluent');
// follow the light / dark setting of Windows, live
sgcUISetApplicationThemeFollow(utfSystem, True);
Eén document, elk formaat
Documenten komen binnen als RTF uit Word, als HTML uit een browser of e-mail, en als Markdown uit een ontwikkeltool. sgcRichEdit leest en schrijft ze allemaal en heeft daarnaast een eigen JSON-formaat dat elk detail van het document bewaart. LoadFromFile herkent het formaat, SaveToFile gebruikt het formaat dat je opgeeft, en AsHTML, AsRTF en AsMarkdown lezen en schrijven het document als tekenreeks.
Laden
Opslaan en exporteren
Elke formaatunit in de uses-clausule registreert zijn lezer of schrijver, en sgcUIPDF_Export koppelt de PDF-export aan de sgcPDF-engine, die samen met sgcRichEdit wordt geïnstalleerd.
uses
sgcRichEdit_Formats, sgcRichEdit_VCL,
sgcRichEdit_RTF_Reader, sgcRichEdit_HTML_Writer, sgcRichEdit_Markdown,
sgcRichEdit_DOCX, sgcUIPDF_Export;
procedure TForm1.ConvertContract;
begin
sgcVCLRichEdit1.LoadFromFile('contract.rtf');
sgcVCLRichEdit1.SaveToFile('contract.html', refHTML);
sgcVCLRichEdit1.SaveToFile('contract.md', refMarkdown);
sgcVCLRichEdit1.SaveToFile('contract.docx', refDOCX);
sgcVCLRichEdit1.ExportToPDF('contract.pdf');
sgcVCLRichEdit1.ExportToPNG('page1.png', 0, 150);
end;
- RTF uit Word behoudt tekst, lettertypen, kleuren, alinea-opmaak, stijlen, lijsten, samengevoegde tabellen, hyperlinks en PNG- en JPEG-afbeeldingen.
- De HTML-lezer begrijpt CSS, tabellen en de lijstaanwijzingen van Word en Outlook.
- Markdown ondersteunt koppen, nadruk, code, citaten, lijsten, links, afbeeldingen, tabellen en doorhalen.
ExportToPDFschrijft een getagde PDF met koppen, lijsten, tabellen, afbeeldingen met alternatieve tekst en links.- Kopiëren zet de selectie als RTF, HTML en platte tekst op het klembord, zodat ze met opmaak in Word, een e-mail of een webformulier wordt geplakt. Plakken accepteert RTF en HTML uit Word en uit browsers, en Ctrl+Shift+V plakt platte tekst.
Bewerken zoals je gewend bent
Gebruikers nemen hun gewoonten uit de tekstverwerker mee. De editor reageert op de gebruikelijke sneltoetsen (Ctrl+B, Ctrl+I, Ctrl+U, uitlijning, koppen, opsommingstekens en Ctrl+K voor links), houdt een volledige geschiedenis van ongedaan maken en opnieuw bij, en zoekt en vervangt tekst over alinea's en tabelcellen heen.

Elke opdracht is beschikbaar vanuit code via ExecuteCommand en CommandState, en via VCL- en FireMonkey-acties, zodat je eigen werkbalk of een sgcToolbar-lint synchroon blijft met de selectie.
uses
sgcRichEdit_Commands;
procedure TForm1.btnBoldClick(Sender: TObject);
begin
sgcVCLRichEdit1.ExecuteCommand(recBold);
end;
procedure TForm1.sgcVCLRichEdit1SelectionChange(Sender: TObject);
begin
// the button shows the state of the selection
btnBold.Down := sgcVCLRichEdit1.CommandState(recBold).Checked;
end;
Je documenten, in je database
Notities, brieven en sjablonen staan meestal in een databaseveld. TsgcVCLDBRichEdit en TsgcFMXDBRichEdit koppelen aan een TDataSource, lezen memo- en BLOB-velden, zetten de dataset bij de eerste wijziging in bewerkmodus en schrijven het document terug zodra de gebruiker het besturingselement verlaat. Escape herstelt de veldwaarde, en AutoDisplay laadt grote documenten pas wanneer ze nodig zijn.
uses
sgcRichEdit_Formats, sgcRichEdit_VCL_DB;
sgcVCLDBRichEdit1.DataSource := dsNotes;
sgcVCLDBRichEdit1.DataField := 'NOTE';
// store the documents as JSON; refAuto, the default, detects the format
sgcVCLDBRichEdit1.FieldFormat := refJSON;
Headless, zelfs op Linux64
Documenten moeten vaak op een server worden geconverteerd: RTF naar HTML voor een portaal, JSON naar PDF voor een archief, een pagina naar PNG voor een miniatuur. Het documentmodel, de formaten, de opmaak en de exports zijn niet afhankelijk van VCL of FireMonkey. Een Windows-service of een Linux64-daemon (Delphi 10.2 en hoger) kan dus documenten laden, wijzigen, renderen en exporteren zonder venster, met dezelfde pagina-indeling als de visuele besturingselementen.
uses
sgcRichEdit_Model, sgcRichEdit_Formats, sgcRichEdit_Print,
sgcRichEdit_RTF_Reader, sgcRichEdit_HTML_Writer, sgcUIPDF_Export;
var
oDocument: TsgcRichDocument;
begin
oDocument := TsgcRichDocument.Create;
try
sgcRichLoadFromFile(oDocument, 'letter.rtf');
sgcRichSaveToFile(oDocument, 'letter.html', refHTML);
// tagged PDF, no window and no VCL or FireMonkey needed
sgcRichExportPDF(oDocument, nil, 'letter.pdf');
finally
oDocument.Free;
end;
end;
Ook voor .NET
De .NET-besturingselementen voor WinForms, WPF en Avalonia gebruiken dezelfde namen als die van Delphi. De kernbibliotheek richt zich op .NET Standard 2.0, .NET Framework 4.7.2 en .NET 6, 8, 9 en 10, en de eigenschap DocumentText koppelt in alle drie de frameworks aan je gegevens.
using esegece.sgcRichEdit;
using esegece.sgcUICore;
// once at startup: PDF export through the esegece.sgcUICore.sgcPDF package
TsgcUIPDFExporter.Register();
richEdit.LoadFromFile("contract.rtf");
richEdit.SaveToFile("contract.html", TsgcRichEditFormat.refHTML);
richEdit.SaveToFile("contract.docx", TsgcRichEditFormat.refDOCX);
richEdit.ExportToPDF("contract.pdf");
Probeer de demo's
De Delphi- en C++ Builder-demo's worden geïnstalleerd met de sgcUI-trial, en de .NET-demo's worden meegeleverd met de Registered .NET-download.




- Editor: een complete VCL-tekstverwerker met een lint dat met sgcToolbar is gebouwd. Open en bewaar JSON, RTF, HTML, Markdown en tekst, exporteer DOCX en getagde PDF, druk af met afdrukvoorbeeld, zoek en vervang.
- EditorFMX: dezelfde editor op FireMonkey, met aanraakmodus en PDF-export.
- DataAware en DataAwareFMX: een data-aware editor gekoppeld aan een dataset, één document per record.
- .NET: Editor voor WinForms, EditorWpf, EditorAvalonia en DataBinding, die
DocumentTextaan een gegevensbron koppelt.
Waar sgcRichEdit in zit
sgcRichEdit wordt los verkocht voor Delphi en C++ Builder en voor .NET, en is inbegrepen in sgcUI Enterprise en in de All-Access-bundel. Het ene pakket installeert ook sgcPDF, zodat PDF-export altijd werkt. Er is geen gratis Community-editie. Bekijk de prijspagina voor de details.
Geef je gebruikers een tekstverwerker
sgcRichEdit verschijnt met sgcUI 2026.11 voor Delphi en C++ Builder, op VCL en FireMonkey, en voor .NET op WinForms, WPF en Avalonia.
Vragen of feedback? Neem contact op, je krijgt antwoord van de mensen die de code hebben geschreven.
