Creating a Logical Font

You can use the Font common dialog box to display available fonts. The ChooseFont dialog box is displayed after an application initializes the members of a CHOOSEFONT structure and calls the ChooseFont function. After the user chooses one of the available fonts and presses the OK button, the ChooseFont function initializes a LOGFONT structure with the relevant data. Your application can then call the CreateFontIndirect function and create a logical font based on the user's request. The following example demonstrates how this is done.

HFONT FAR PASCAL MyCreateFont( void )

{

CHOOSEFONT cf;

LOGFONT lf;

HFONT hfont;

/* Initialize members of the CHOOSEFONT structure. */

cf.lStructSize = sizeof(CHOOSEFONT);

cf.hwndOwner = (HWND)NULL;

cf.hDC = (HDC)NULL;

cf.lpLogFont = &lf;

cf.iPointSize = 0;

cf.Flags = CF_SCREENFONTS;

cf.rgbColors = RGB(0,0,0);

cf.lCustData = 0L;

cf.lpfnHook = (LPCFHOOKPROC)NULL;

cf.lpTemplateName = (LPSTR)NULL;

cf.hInstance = (HINSTANCE) NULL;

cf.lpszStyle = (LPSTR)NULL;

cf.nFontType = SCREEN_FONTTYPE;

cf.nSizeMin = 0;

cf.nSizeMax = 0;

/* Display the CHOOSEFONT common-dialog box. */

ChooseFont(&cf);

/* Create a logical font based on the user's */

/* selection and return a handle identifying */

/* that font. */

hfont = CreateFontIndirect(cf.lpLogFont);

return (hfont);

}

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database