Make Windows Common Dialogs "Per Monitor DPI-Aware"
<p>I have a program which was created in VS2008 with MFC.
Now I've modified it to make it "Per Monitor DPI-Aware", and it's almost done. I've modified the manifest and handled the WM_DPICHANGE message. But there's still one problem:</p>

<p>I used <strong>CFileDialog</strong> class to show Open/Save dialogs, and used <strong>SHBrowseForFolder</strong> function to show folder selection dialog. But all these dialogs are <strong>NOT</strong> "Per Monitor DPI-Aware", they won't adjust their UI when you move them between monitors with different DPI settings.</p>

<p>I use spy++ to monitor messages of these dialogs, I find they can receive WM_DPICHANGED message but they just don't handle it.</p>

<p>And I've tested the open file dialog in notepad.exe on Windows 10, it worked perfectly.</p>

<p>Does anyone know how can I make these dialogs "Per Monitor DPI-Aware"?</p>

<p>--------<strong>EDIT</strong>--------</p>

<p>There're two more problems:</p>

<ol>
<li>When I move a window to a monitor with different DPI, the window resize itself, but the height of it's title bar and title font-size are not changed.</li>
<li>The checkbox controls' box size is not changed either.</li>
</ol>

<p>I feel these problems may have some kind of connections, but I can't figure it out.</p>

<p>--------<strong>SAD NEWS</strong>--------</p>

<p>I compiled microsoft's "DPI Tutorial Sample" with VS2013, and it has the same problem.</p>

<p><a href="https://code.msdn.microsoft.com/DPI-Tutorial-sample-64134744" rel="noreferrer">https://code.msdn.microsoft.com/DPI-Tutorial-sample-64134744</a></p>