Change caption font

Posted in System

Change caption font - System - Tips & Tricks - Greatis Delphi Pages Use SystemParametersInfo function with SPI_SETNONCLIENTMETRICS parameter. All information, what you may set, are in NONCLIENTMETRICS structure.

procedure TForm1.Button1Click(Sender: TObject);
var
  MyStruct: TNonClientMetrics;
begin
  MyStruct.cbSize:=SizeOf(TNonClientMetrics);
  SystemParametersInfo(
    SPI_GETNONCLIENTMETRICS, 
    SizeOf(TNonClientMetrics), 
    @MyStruct, 
    0);
  MyStruct.lfCaptionFont.lfHeight:=8;
  MyStruct.lfCaptionFont.lfFaceName:='Arial';
  SystemParametersInfo(
    SPI_SETNONCLIENTMETRICS, 
    SizeOf(TNonClientMetrics), 
    @MyStruct, 
    0);
end;