본문 바로가기

Hello CE,Mobile

해상도에 따른 Font 크기


#define MulDiv(a,b,c)       (((a)*(b))/(c))


int nFontSize = 8;

m_lfBuddyFont.lfHeight = -MulDiv(nFontSize, GetDeviceCaps(pDC,LOGPIXELSY) ,72);




 LOGPIXELSX

인치당 픽셀수, 즉 해상도를 조사한다. 

 LOGPIXELSY



- 가 붙은 이유는 Character Height 값을 셋팅하기 위함.


----------  <------------------------------
|        |           |- Internal Leading  |
| |   |  |  <---------                    |
| | | | | |- Cell Height
| |---| | |- Character Height |
| | | | | |
| | | | | |
---------- <------------------------------


> 0

Cell         Height

0 

Default    Height

< 0

Character Height 


nFontSize = -MulDiv( LOGFONT::lfHeight, 72, GetDeviceCaps( pDC, LOGPIXELSY ) );


참조 : http://support.microsoft.com/kb/74299