PDA

View Full Version : Height of the default system font



linker
December 10th, 2002, 23:27
Ok, i know thats a little stupid question, but... can you tell me how can i get the height of the default system font in PIXELS, using the standard Win32 api funtionc?

Thanx

Cyberman
December 11th, 2002, 01:56
The GetTextExtentPoint32 function computes the width and height of the specified string of text. This function supersedes the GetTextExtentPoint function.

BOOL GetTextExtentPoint32(

HDC hdc, // handle of device context
LPCTSTR lpString, // address of text string
int cbString, // number of characters in string
LPSIZE lpSize // address of structure for string size
);


Parameters

hdc

Identifies the device context.

lpString

Points to the string of text. The string does not need to be zero-terminated, since cbString specifies the length of the string.

cbString

Specifies the number of characters in the string.

lpSize

Points to a SIZE structure in which the dimensions of the string are to be returned.



Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

The GetTextExtentPoint32 function uses the currently selected font to compute the dimensions of the string. The width and height, in logical units, are computed without considering any clipping.
Because some devices kern characters, the sum of the extents of the characters in a string may not be equal to the extent of the string.
The calculated string width takes into account the intercharacter spacing set by the SetTextCharacterExtra function.


That will give you the width and height of the currently selected font given some text :)

Cyb

linker
December 11th, 2002, 08:37
Yes, I've tried that already but it always gives me 16. Anyway, thanx for the reply :).

Cyberman
December 11th, 2002, 23:24
Originally posted by linker
Yes, I've tried that already but it always gives me 16. Anyway, thanx for the reply :).
Then that is likely the height in pixels of whatever the currently used font is. You need to find the BASE window font. This unfortunately changes.. you need the default window font likely and use that. Which means you need to 'grab it' and set the current font to that.

Cyb

linker
January 5th, 2003, 22:44
Thanx

cya