Prior to Delphi 12, MDI children were displayed in the Windows 7 Aero design, even with Windows 11.
New to Delphi 12 is that the MDI children have the typical Windows 10/11 design, which is amazing in my opinion!
However, I dislike that the caption of every MDI child is white, since white is usually the color of inactive windows. I wonder, can I somehow change the color of the MDI children's border to anything but white?
I have tried the following code, which works on the main form, but does not work on MDI children:
procedure TFormXYZ.CreateWnd;
var
col: COLORREF;
begin
inherited;
col := 0; // black
DwmSetWindowAttribute(WindowHandle, DWMWA_CAPTION_COLOR, @col, SizeOf(COLORREF));
DwmSetWindowAttribute(WindowHandle, DWMWA_BORDER_COLOR, @col, SizeOf(COLORREF));
end;
Thank you for the help.

Since Delphi 12 MDI child forms are no longer drawn by Windows but by the VCL itself, more precisely, the drawing is handled by
TChildFormMessageHandler. In this class the border color is taken from a constantcBorderColor, which has the valueclWhite.Unfortunately this class is private and there is no official way to replace the implementation or somehow tweak it, except by using your own copy of Vcl.Forms.pas.
Either way I suggest to file a feature request at Quality Portal having different border colors for active and inactive MDI child forms.