Author: Jonas Bilinkevicius
I have a custom dialog. So far I have set the font to Verdana. What I would like to
do is to be able to set the dialog font to the one that's currently being used.
Answer:
This code sets the font of dialogs system-wide to Verdana:
procedure TForm1.Button1Click(Sender: TObject);
var
ncm: TNonClientMetrics;
begin
ncm.cbSize := SizeOf(TNonClientMetrics);
{get old non client metrics}
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, SizeOf(TNonClientMetrics), @ncm, 0);
{lfCaptionFont - regular captions
lfSmCaptionFont - small captions
lfMenuFont - menus
lfStatusFont - status bars
lfMessageFont - message boxes}
ncm.lfMessageFont.lfFaceName := 'Tahoma';
{set new non client metrics}
SystemParametersInfo(SPI_SETNONCLIENTMETRICS, SizeOf(TNonClientMetrics), @ncm, 0);
end;