GetTextMetrics

¿øÇü

BOOL GetTextMetrics(HDC hdc, LPTEXTMETRIC lptm);

MFC ¿øÇü

BOOL CDC::GetTextMetrics( LPTEXTMETRIC lpMetrics ) const;

Àμö

¢ºhdc : DCÀÇ ÇÚµé

¢ºlptm : ¸®ÅÏ°ªÀ» µ¹·Á¹Þ±â À§ÇÑ TEXTMETRIC ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ

¸®ÅÏ

¼º°øÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÏ¸ç ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù.

¼³¸í

DC¿¡ ÇöÀç ¼±ÅõǾî ÀÖ´Â ÆùÆ®ÀÇ ¿©·¯ °¡Áö Á¤º¸¸¦ Á¶»çÇÑ´Ù. ÁÖ·Î ÆùÆ®ÀÇ Å©±â¿¡ ´ëÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ¸®ÅϵǴ Á¤º¸´Â ´ÙÀ½°ú °°ÀÌ ¼±¾ðµÇ¾î ÀÖ´Â ±¸Á¶Ã¼ÀÌ´Ù.

typedef struct tagTEXTMETRIC { // tm 
    LONG tmHeight; 
    LONG tmAscent; 
    LONG tmDescent; 
    LONG tmInternalLeading; 
    LONG tmExternalLeading; 
    LONG tmAveCharWidth; 
    LONG tmMaxCharWidth; 
    LONG tmWeight; 
    LONG tmOverhang; 
    LONG tmDigitizedAspectX; 
    LONG tmDigitizedAspectY; 
    BCHAR tmFirstChar; 
    BCHAR tmLastChar; 
    BCHAR tmDefaultChar; 
    BCHAR tmBreakChar; 
    BYTE tmItalic; 
    BYTE tmUnderlined; 
    BYTE tmStruckOut; 
    BYTE tmPitchAndFamily; 
    BYTE tmCharSet; 
} TEXTMETRIC;

°¢ ¸â¹öÀÇ Àǹ̴ ´ÙÀ½°ú °°´Ù.

Ç÷¡±×

¼³¸í

tmHeight

¹®ÀÚÀÇ ³ôÀÌ´Ù. tmAscent¿Í tmDescent¸¦ ´õÇÑ °ªÀÌ´Ù.

tmAscent

±âÁØ ¼±ÀÇ À­ÂÊ ³ôÀÌÀÌ´Ù.

tmDescent

±âÁØ ¼±ÀÇ ¾Æ·¡ÂÊ ³ôÀÌÀÌ´Ù.

tmInternalLeading

tmHeight ¾ÈÂÊÀÇ ¿©¹é °ø°£ÀÌ´Ù. ÀÌ ºÎºÐÀº ¿©¹éÀÌ¸ç ½ÇÁ¦ ÆùÆ®°¡ ±×·ÁÁö´Â ºÎºÐÀÌ ¾Æ´Ï¹Ç·Î ¹®ÀÚ¿­ Ãâ·Â¿¡ ÀÇÇØ º¯°æµÇÁö ¾Ê´Â ¿µ¿ªÀÌ´Ù. ÆùÆ® µðÀÚÀ̳ʴ ÀÌ °ªÀ» 0À¸·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù.

tmExternalLeading

tmHeight¿¡´Â Æ÷ÇÔµÇÁö ¾Ê´Â ¿©¹éÀÌ¸ç ¹®ÀÚ¿­°£ÀÇ ÁÙ°£À» ¶ç¿ï ¶§ »ç¿ëÇÏ´Â ºÎºÐÀÌ´Ù. ½ÇÁ¦ ÆùÆ®°¡ ±×·ÁÁö´Â ºÎºÐÀÌ ¾Æ´Ï¹Ç·Î ¹®ÀÚ¿­ Ãâ·Â¿¡ ÀÇÇØ º¯°æµÇÁö ¾Ê´Â´Ù.

tmAveCharWidth

¹®ÀÚµéÀÇ Æò±Õ ÆøÀÌ´Ù.

tmMaxCharWidth

ÃÖ´ë ¹®ÀÚ ÆøÀÌ´Ù.

tmWeight

ÆùÆ®ÀÇ µÎ²²

tmOverhang

º¼µå, ÀÌÅŸ¯ µîÀÇ °­Á¶¿¡ ÀÇÇØ Ãß°¡µÇ´Â ¿©ºÐÀÇ ÆøÀÌ´Ù. GDI´Â ÀÌÅŸ¯Ã¼ µî°ú °°ÀÌ Á¿ì·Î Á» ´õ Å« ÆøÀ» °¡Á®¾ß ÇÏ´Â ¹®ÀÚ¿­À» Ãâ·ÂÇÒ ¶§ ¿ø·¡ ¹®ÀÚÆø¿¡ ¾à°£ÀÇ ¿©ºÐÀ» ´õ ÁØ´Ù. ÀÌ ¿©ºÐÀÇ ÆøÀ» OverhangÀ̶ó ÇÑ´Ù.

tmDigitizedAspectX

ÆùÆ®°¡ ¸¸µé¾îÁø ÀåÄ¡ÀÇ ¼öÆò Á¾È¾ºñ °ª

tmDigitizedAspectY

ÆùÆ®°¡ ¸¸µé¾îÁø ÀåÄ¡ÀÇ ¼öÁ÷ Á¾È¾ºñ °ª. ¼öÆò, ¼öÁ÷ Á¾È¾ºñ °ªÀÇ ºñ°¡ Á¾È¾ºñÀÌ´Ù.

tmFirstChar

ÆùÆ®¿¡ Á¤ÀÇµÈ Ã¹ ¹ø° ¹®ÀÚ

tmLastChar

ÆùÆ®¿¡ Á¤ÀÇµÈ ¸¶Áö¸· ¹®ÀÚ

tmDefaultChar

ÆùÆ®¿¡ Á¤ÀǵÇÁö ¾ÊÀº ¹®ÀÚ¸¦ Ãâ·ÂÇÒ ¶§ »ç¿ëµÇ´Â µðÆúÆ® ¹®ÀÚ. º¸Åë ¸¶Ä§Ç¥³ª »ç°¢¹Ú½º°¡ »ç¿ëµÈ´Ù.

tmBreakChar

ÀÚµ¿ °³Çà°ú justification¿¡ »ç¿ëµÇ´Â ±¸ºÐ ¹®ÀÚ. º¸Åë ½ºÆäÀ̽ºÀÌ´Ù.

tmItalic

ÀÌÅŸ¯ ½ºÅ¸ÀÏÀÌ ÀÖÀ¸¸é 0ÀÌ ¾Æ´Ñ °ªÀ» °¡Áø´Ù.

tmUnderlined

¹ØÁÙ ½ºÅ¸ÀÏÀÌ ÀÖÀ¸¸é 0ÀÌ ¾Æ´Ñ °ªÀ» °¡Áø´Ù.

tmStruckOut

Ãë¼Ò¼± ½ºÅ¸ÀÏÀÌ ÀÖÀ¸¸é 0ÀÌ ¾Æ´Ñ °ªÀ» °¡Áø´Ù.

tmPitchAndFamily

ÇÇÄ¡¿Í Æйи®

tmCharSet

¹®ÀÚ ¼Â

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â ¼¼ ÁÙÀÇ ¹®ÀÚ¿­À» Ãâ·ÂÇÑ´Ù.

int CharHeight;
char str[3][20]={"ù¹ø° ÁÙÀÔ´Ï´Ù", "µÎ¹ø° ÁÙÀÔ´Ï´Ù", "¼¼¹ø° ÁÙÀÔ´Ï´Ù"};
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	PAINTSTRUCT ps;
	HDC hdc;
	TEXTMETRIC tm;
	int i;

	switch(iMessage) {
	case WM_CREATE:
		hdc=GetDC(hWnd);
		GetTextMetrics(hdc, &tm);
		CharHeight=tm.tmHeight;
		ReleaseDC(hWnd, hdc);
		return 0;
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		for (i=0;i<3;i++) {
			TextOut(hdc,0,i*CharHeight,str[i],strlen(str[i]));
		}
		EndPaint(hWnd, &ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

ÆùÆ®ÀÇ ³ôÀ̸¦ Á¤È®ÇÏ°Ô °è»êÇؼ­ »ç¿ëÇßÀ¸¹Ç·Î Á¤È®ÇÑ ÁÙ°£À» ¶ç¿ü´Ù.

Âü°íÇÔ¼ö

GetTextExtentPoint32

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

 


written by http://www.winapi.co.kr