What's new

Height of the default system font

linker

Emutalk Member
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

Moderator
Moderator
Code:
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
 
OP
linker

linker

Emutalk Member
Yes, I've tried that already but it always gives me 16. Anyway, thanx for the reply :).
 

Cyberman

Moderator
Moderator
linker said:
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
 

Top