I'm not sure if it is intended behavior or not. But as soon the Grid gets a DPIChange-Event the widths of all columns are resetted to the default width.
Expected: The actuall width of the columns is recalculated based on the previous and new DPI settings.
I searched the code but only find this code in TMSFNCDataGridRenderer:
for I := 0 to Columns.Count - 1 do
Columns[I].Width := Int(TTMSFNCUtils.MulDivSingle(Columns[I].Width, M, D));
So in theory the width should be correctly calculted, but it isn't. Am i missing something?