RAD Studio VCL Reference
|
Displays the Font dialog.
function Execute(ParentWnd: HWND): Boolean; override;
virtual __fastcall Boolean Execute(HWND ParentWnd);
Execute opens the Font dialog, returning true when the user selects a font and clicks OK.
C++ Examples:
/* This example takes an edit control, a button, and a rich edit control on a form. When the user presses the button, a Font dialog appears. When the user clicks the Apply (not OK) button in the Font dialog, the currently selected font is applied to the active control. Clicking the button sets the ActiveControl to the button. That is why we need to save the ActiveControl in a shared OnEnter procedure. In the rich edit, only the text selected converts. */ TWinControl *myActiveControl; void __fastcall TForm1::Button1Click(TObject *Sender) { FontDialog1->Options << fdApplyButton; FontDialog1->Execute(); } void __fastcall TForm1::FontDialog1Apply(TObject *Sender, HWND Wnd) { if (myActiveControl->ClassNameIs("TEdit")) (dynamic_cast<TEdit *>(myActiveControl))->Font->Assign(FontDialog1->Font); else if (myActiveControl->ClassNameIs("TRichEdit")) (dynamic_cast<TRichEdit *>(myActiveControl))->SelAttributes->Assign(FontDialog1->Font); else MessageBeep(0); } void __fastcall TForm1::Edit1Enter(TObject *Sender) { myActiveControl = ActiveControl; }
Delphi Examples:
{ This example takes an edit control, a button, and a rich edit control on a form. When the user presses the button, a Font dialog appears. When the user clicks the Apply (not OK) button in the Font dialog, the currently selected font is applied to the active control. Clicking the button sets the ActiveControl to the button. That is why we need to save the ActiveControl in a shared OnEnter procedure. In the rich edit, only the text selected converts. } procedure TForm1.Button1Click(Sender: TObject); begin FontDialog1.Options := FontDialog1.Options + [fdApplyButton]; FontDialog1.Execute; end; procedure TForm1.Edit1Enter(Sender: TObject); begin myActiveControl := ActiveControl; end; procedure TForm1.FontDialog1Apply(Sender: TObject; Wnd: HWND); begin if myActiveControl is TEdit then with myActiveControl as TEdit do Font.Assign(TFontDialog(Sender).Font) else if myActiveControl is TRichEdit then with myActiveControl as TRichEdit do SelAttributes.Assign(TFontDialog(Sender).Font) else Beep; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|