sgcRichEdit: een tekstverwerker in je eigen applicatie

· Componenten
sgcRichEdit: een tekstverwerker in je eigen applicatie
✦  sgcUI · sgcRichEdit

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

sgcRichEdit Editor—□✕
De sgcRichEdit Editor-demo met de Fluent-preset, licht
Hetzelfde document met de Fluent-preset, donker
LichtDonker
4formaten in en uit
3exportformaten
5UI-frameworks
12editortalen

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.

AaAaAa
Benoemde stijlenStandaard, Kop 1 tot 6, Titel, Ondertitel, Citaat, Code, Lijstalinea, Hyperlink en Tabelraster zijn ingebouwd.
Lijsten met 9 niveausOpsommingstekens, cijfers, letters en Romeinse cijfers, met een opdracht om een niveau te verhogen of te verlagen.
TabellenCellen samengevoegd over kolommen en rijen, koprijen, randen, achtergronden en geneste tabellen.
Afbeeldingen en linksIngesloten afbeeldingen en hyperlinks, met Ctrl+klik en een OnLinkClick-gebeurtenis.
↺↻
Ongedaan maken en opnieuwEen volledige geschiedenis, waarbij getypte tekst per woord wordt gegroepeerd, zodat één stap ongedaan maken één woord verwijdert.
groei in Q3, groei in Europa
Zoeken en vervangenOver alinea's en tabelcellen heen, met reguliere expressies en Alles vervangen als één stap ongedaan maken.

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.

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

sgcRichEdit Editor—□✕
Een tabel met een gekleurde koprij, een samengevoegde cel en een ingesloten grafiekafbeelding
Pagina 1 van het document, geëxporteerd naar PNG
Pagina 1
Pagina 2 van het document, geëxporteerd naar PNG
Pagina 2
Pagina 3 van het document, geëxporteerd naar PNG
Pagina 3

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.

sgcRichEdit Editor—□✕
Arabische tekst van rechts naar links gemengd met Engels, en Japanse, Chinese, Koreaanse en Russische alinea's, donker thema

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.

sgcRichEdit Editor—□✕
sgcRichEdit met de Fluent-preset, licht
sgcRichEdit met de klassieke preset
sgcRichEdit met de Fluent-preset, donker
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

RTFuit Word
HTMLmet CSS
Markdownook tabellen
JSONnative
Eén documentmodel Stijlen, lijsten, tabellen, afbeeldingen en links, uitgelegd in pagina's

Opslaan en exporteren

DOCXvoor Word
PDFgetagd
PNGelke DPI
RTF, HTML, MDen JSON

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;

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.

sgcRichEdit Editor—□✕
De zoek- en vervangbalk van de Editor-demo

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.

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.