SAMPLE: PRPFONT - How to Set CPropertySheet Fonts

Last reviewed: June 26, 1997
Article ID: Q142170
The information in this article applies to:

- The Microsoft Foundation Classes (MFC) included with:

  - Microsoft Visual C++, 32-bit Edition, versions 4.0, 4.1, 4.2, 5.0

SUMMARY

PRPFONT shows how to set the desired font for your CPropertyPages in the Resource Editor, and at run-time, set the sheet's font to be the same and size everything correctly. All of this is done in a class called CMySheet. A function called ChangeDialogFont() does the work of setting the font and resizing windows. CPropertySheet::BuildPropPageArray() was overridden so that the fonts in the pages are not reset.

MORE INFORMATION

In versions of Visual C++ earlier than 4.0, MFC had its own implementation of CPropertySheet. You could set the font for your CPropertySheet by setting the font of your first CPropertyPage dialog box resource in the Resource Editor. At run time, the sheet would use the font that you set and size everything according to the font. Starting with Visual C++ 4.0, MFC uses the Windows 95 PropertySheet control. This control will always use the system font for the sheet. This is by design. MFC will also force the pages to use the same font as the sheet. This is done in a function called BuildPropPageArray(). Because this is an undocumented function, it may change or be deleted in future versions of MFC.

CMySheet will use the font of the first active CPropertyPage to set the font and size of the CPropertySheet and its child windows. The CPropertyPages will appear with the font specified in the resource editor.

The following file is available for download from the Microsoft Software Library:

 ~ Prpfont.exe (size: 49475 bytes) 

For more information about downloading files from the Microsoft Software Library, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q119591
   TITLE     : How to Obtain Microsoft Support Files from Online Services


Additional query words: 4.10 4.20 prpfont propfont runtime run-time
Keywords : kbfile kbprg kbsample MfcUI
Technology : kbMfc
Version : 4.0 4.1 4.2 5.0
Platform : NT WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: June 26, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.