TextOut´Â ³Ê¹« ´Ü¼øÇÏ´Ù. À̺¸´Ù Á¶±Ý ´õ º¹ÀâÇÑ(=±â´ÉÀÌ ¸¹Àº) ¹®ÀÚ¿ Ãâ·Â ÇÔ¼ö·Î DrawText¶ó´Â ÇÔ¼ö°¡ ÀÖ´Ù. int DrawText( HDC hDC, LPCTSTR lpString, int nCount, LPRECT lpRect, UINT uFormat );ÀÌ ÇÔ¼ö´Â »ç°¢¿µ¿ªÀ» Á¤ÀÇÇÏ¿© ¿µ¿ª¾È¿¡ ¹®ÀÚ¿À» Ãâ·ÂÇÒ ¼ö ÀÖÀ¸¸ç ¿©·¯°¡Áö Æ÷¸äÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Â ±â´ÉÀÌ ÀÖ´Ù. À©µµ¿ìÁî¿¡¼ »ç°¢¿µ¿ªÀ» Á¤ÀÇÇÒ ¶§´Â RECT±¸Á¶Ã¼¸¦ »ç¿ëÇÏ¸ç ´ÙÀ½°ú °°ÀÌ Á¤ÀǵǾî ÀÖ´Ù. typedef struct _RECT { // rc LONG left; LONG top; LONG right; LONG bottom; } RECT; DrawTextÀÇ 4¹ø° Àμö´Â ÀÌ ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍÀÌ¸ç ¹®ÀÚ¿ÀÌ Ãâ·ÂµÉ »ç°¢ ¿µ¿ªÀ» ÁöÁ¤ÇÑ´Ù. ù¹ø° Àμö´Â ¹°·Ð hdcÀÌ¸ç µÎ¹ø° Àμö°¡ Ãâ·ÂÇÒ ¹®ÀÚ¿, ¼¼¹ø° Àμö´Â Ãâ·ÂÇÒ ¹®ÀÚ¿ÀÇ ±æÀÌÀÌµÇ ÀÌ °ªÀÌ -1ÀÌ¸é ³Î Á¾·á ¹®ÀÚ¿·Î °£ÁÖÇÑ´Ù. ´Ù¼¸ ¹ø° Àμö uFormatÀº DrawText ÇÔ¼ö°¡ ¹®ÀÚ¿À» Ãâ·ÂÇÒ ¹æ¹ýÀ» ÁöÁ¤ÇÏ´Â Ç÷¹±×ÀÌ´Ù.
WM_PAINTÀÇ Äڵ带 ´ÙÀ½°ú °°ÀÌ ¹Ù²Ù¾î º¸ÀÚ. long FAR PASCAL WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; RECT rt={100,100,400,300}; char str[]="´ÔÀº °¬½À´Ï´Ù. ¾Æ¾Æ »ç¶ûÇÏ´Â ³ªÀÇ ´ÔÀº °¬½À´Ï´Ù. Ǫ¸¥ »êºûÀ» " "±úÄ¡°í ´Üdz³ª¹« ½£À» ÇâÇÏ¿© ³ ÀÛÀº ±æÀ» °É¾î¼ Â÷¸¶ ¶³Ä¡°í °¬½À´Ï´Ù." "Ȳ±ÝÀÇ ²É°°ÀÌ ±»°í ºû³ª´ø ¿¾ ¸Í¼¼´Â Â÷µðÂù Ƽ²øÀÌ µÇ¾î ÇѼûÀÇ ¹Ìdz¿¡" "³¯¾Æ°¬½À´Ï´Ù."; switch(iMessage) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_PAINT: hdc=BeginPaint(hWnd,&ps); DrawText(hdc,str,-1,&rt,DT_CENTER | DT_WORDBREAK); EndPaint(hWnd,&ps); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } »ç°¢¿ª¿ª rt¸¦ (100,100)-(400,300)À¸·Î Á¤ÀÇÇÏ°í Ãâ·ÂÇÒ ¹®ÀÚ¿ str¿¡ ±ä ¹®ÀÚ¿À» ´ëÀÔÇØ µÎ¾ú´Ù. ±×¸®°í ÀÌ ¹®ÀÚ¿ÀÇ ³¡±îÁö Áß¾Ó Á¤·Ä ¹× ÀÚµ¿°³Çà Ç÷¹±×¸¦ ÁÖ¾î Ãâ·ÂÇÏ¿´´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù. ÁöÁ¤ÇÑ »ç°¢¿µ¿ª¾È¿¡ ¹®ÀÚ¿ÀÌ ÀÚµ¿ °³ÇàµÇ¸ç ¿©·¯ÁÙ·Î Ãâ·ÂµÇ¾ú´Ù. Æ÷¸äÀ» ¹Ù²Ù¾î °¡¸ç ´Ù¾çÇÏ°Ô ½Ç½ÀÇØ º¸±â ¹Ù¶õ´Ù. |