Navigation: TextEd > Extension and Scripts > Dialogs >






TFontDialog displays a modal font-selection dialog.

The TFontDialog component displays a Windows dialog box for selecting a font. The dialog does not appear at runtime until it is activated by a call to the Execute method. When the user selects a font and clicks OK, the dialog closes and the selected font is stored in the Font property.


Properties and methods


constructor Create(TComponent AOwner);

Creates and initializes a font-selection dialog.



TFontDialog fontDlg = TFontDialog.Create(form);


function bool Execute;

Displays the dialog box. Execute returns true when the user makes a selection and clicks OK, and returns false when the user closes the dialog without making a selection.



TFontDialog fontDlg = TFontDialog.Create(form);

fontDlg.Font = form.Font;

if (fontDlg.Execute) {

   form.Font = fontDlg.Font;




procedure Free;

Destroys an object and frees its associated memory, if necessary.


property TFont Font;

Returns the selected font. When the user selects a font in the dialog box and clicks OK, the selected font becomes the value of the Font property. To make a default font appear in the dialog when it opens, assign a value to Font.




TForm f;
TButton b;
TMemo memo;
// Open a font dialog and change
// the memo font to the selected.
void btnClick(TObject Sender) {
   TFontDialog fontDlg = TFontDialog.Create(f);
   fontDlg.Font = memo.Font;
   if (fontDlg.Execute) {
      memo.Font = fontDlg.Font;
// Main procedure
   // Create a new window (form)
   f = new TForm(nil);
   f.Caption = "Change memo font";
   f.Position = poScreenCenter;
   f.Width = 400;
   f.Height = 300;
   // Add a button to the window
   b = new TButton(f);
   b.Name = "btnFont";
   b.Parent = f;
   b.SetBounds(10, 20, 75, 25);
   b.Anchors = akLeft+akTop;
   b.Caption = "Font...";
   // When the user click on the button the 
   // function btnClick is executed
   b.OnClick = &btnClick;
   // Add a text edit control (memo) to the window
   memo = new TMemo(f);
   memo.Name = "memoLorem";
   memo.Parent = f;
   memo.SetBounds(10, 50, 360, 200);
   memo.Anchors = akLeft+akTop;
   memo.Lines.Text = "Lorem Ipsum iaculis audire mi moderatius\r\ncorpora dictumst turpis."; 
   // Show the window








Copyright © 2023 Rickard Johansson