// Iconfont
Logfont;
Int size = sizeof (logfont );
Bool isgood = systemparametersinfo (spi_geticontitlelogfont, size, & logfont, 0 );
If (isgood = true)
{
Cfont * F;
F = new cfont;
Const logfont * pfont = new logfont (logfont );
F-> createfontindirectw (pfont );
//: Enumchildwindows (m_hwnd,: setchildfont, (lparam) F );
}
// Other font
Nonclientmetrics NCM = new nonclientmetrics ();
Bool isgood = systemparametersinfo (spi_getnonclientmetrics, sizeof (nonclientmetrics), ref NCM, 0 );
If (isgood = true)
{
Logfont logfont2;
// Logfont2 = NCM. lfntcaptionfont); // captionfont
// Logfont2 = NCM. lfntsmcaptionfont; // captionfont_small
// Logfont2 = NCM. lfntmenufont; // menufont
// Logfont2 = NCM. lfntstatusfont; // statusfont
Logfont2 = NCM. lfntmessagefont; // messagefont
Cfont * F;
F = new cfont;
Const logfont * pfont = new logfont (logfont2 );
F-> createfontindirectw (pfont );
//: Enumchildwindows (m_hwnd,: setchildfont, (lparam) F );
}
The above is to get the system font size, and then call the second method above!
All fonts on the form will change with the system font size!