Microsoft KB Archive/137035

= PRB: Font Dialog Box Lists Fonts Not Supported by Printer =

Article ID: 137035

Article Last Modified on 1/8/2003

-

APPLIES TO


 * Microsoft Visual Basic 4.0 Standard Edition
 * Microsoft Visual Basic 4.0 Professional Edition
 * Microsoft Visual Basic 4.0 Professional Edition
 * Microsoft Visual Basic 4.0 16-bit Enterprise Edition
 * Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
 * Microsoft Visual Basic 3.0 Professional Edition
 * Microsoft Visual Basic 3.0 Professional Edition

-



This article was previously published under Q137035



SYMPTOMS
The Font dialog box shows fonts with certain styles not supported by the current printer, even after setting the Flags property in the Common Dialog control to the PrinterFonts constant.



CAUSE
If the Flags property is set to PrinterFonts only, the Font dialog box may still allow graphic device interface (GDI) simulation.



RESOLUTION
This can be resolved by setting the Flags property to two constants merged together using the Or operator. These constants are PrinterFonts and NoSimulations.



STATUS
This behavior is by design.



Step-By-Step Example
 Start a new project in Visual Basic. Form1 is created by default. Add a Common Dialog control to Form1, and set its Name property to CMDialog.  Add the following to the general declarations section of Form1: ' In Visual Basic 4.0 the constants would be: Const vbCFNoSimulations = &H1000& Const vbCFPrinterFonts = &H2&

' In Visual Basic 3.0 the name of the constants would be: Const CF_NoSimulations = &H1000& Const CF_PrinterFonts = &H2&

Either set of constant names would work as long as you are consistent in  your usage. The rest of this article uses the version 4.0 constants.   Add the following to the Form_Load event procedure: Private Sub Form_Load ' The following line can be written either like this: CMDialog.Flags = vbCFNoSimulations Or vbCFPrinterFonts

' or like this: ' CMDialog.Flags = vbCFNoSimulations + vbCFPrinterFonts

CMDialog.Action = 4 End Sub  Start the program by pressing the F5 key or by clicking Start on the Run menu.</li></ol>

<div class="references_section">