vprex
asked on
Large Fonts
How can I tell if a user has large fonts turned on? Is there a way to specifically use normal 96 point fonts? I have a skinned application and users with large fonts enabled are getting a very poor experience.
see large font is 120 dpi(dot per inch)125% then normal(96 dpi)
so you can detect it like
int sx = pdc->GetDeviceCaps(LOGPIXE LSX);
if(sx == 96)
//normal
else
if(sx == 120)
//large font
so you can detect it like
int sx = pdc->GetDeviceCaps(LOGPIXE
if(sx == 96)
//normal
else
if(sx == 120)
//large font
ASKER
Any answer to the 2nd part of the question?
Setting large fonts using "Windows Settings" itself makes distorted....
Or you can restrict the font size in your application, using SetFont
Rosh
Or you can restrict the font size in your application, using SetFont
Rosh
I had this problem our project we have solved it like
int sx = pdc->GetDeviceCaps(LOGPIXE LSX);
if(sx == 96)
//normal
else
if(sx == 120)
//do mapping of cooridnates of controls according to 96 dpi
int sx = pdc->GetDeviceCaps(LOGPIXE
if(sx == 96)
//normal
else
if(sx == 120)
//do mapping of cooridnates of controls according to 96 dpi
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
So far I can detect the font, great. I can even set the font in OnInitDialog so that the text is correct but the CEdit boxes / Comboboxes are too long now. They are the right height but too long.
Then set the ES_AUTOHSCROLL or CBS_AUTOHSCROLL style to the controls.
Rosh :)