¿øÇü | HPEN CreatePen(int fnPenStyle, int nWidth, COLORREF crColor); | ||||||||||||||||
MFC ¿øÇü | BOOL CPen::CreatePen( int nPenStyle, int
nWidth, COLORREF crColor ); BOOL CPen::CreatePen( int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL ); |
||||||||||||||||
Àμö |
¢ºfnPenStyle:¼±ÀÇ ¸ð¾çÀ» °áÁ¤ÇÑ´Ù. ´ÙÀ½ Áß ÇϳªÀÇ ¸ð¾çÀ» ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.
¢ºnWidth:¼±ÀÇ ±½±â¸¦ ³í¸® ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù. 0À̸é 1Çȼ¿ ±½±â°¡ µÇ´Ù. PS_DASH, PS_DOT, PS_DASHDOT, PS_DASHDOTDOT ½ºÅ¸ÀÏÀÇ Ææ¿¡´Â ±½±â¸¦ 1ÀÌ»óÀ¸·Î ÁöÁ¤Çϸé ÀÌ ÆæÀº PS_SOLID½ºÅ¸ÀÏ·Î º¯°æµÈ´Ù. ¢ºcrColor:¼±ÀÇ »ö»óÀ» ÁöÁ¤Çϸç RGB ¸ÅÅ©·Î ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù. |
||||||||||||||||
¸®ÅÏ | ¸¸µé¾îÁø ÆæÀÇ ÇصéÀ» ¸®ÅÏÇÏ¸ç ½ÇÆнà NULLÀ» ¸®ÅÏÇÑ´Ù. | ||||||||||||||||
¼³¸í |
ÆæÀº GDI°¡ ¼±À» ±×¸± ¶§ »ç¿ëÇÏ´Â ¿ÀºêÁ§Æ®À̸ç DC¿¡ ¼±ÅÃµÈ ÆæÀÇ ¼Ó¼º´ë·Î ¼±ÀÌ ±×¾îÁø´Ù. µðÆúÆ® ÆæÀº ±½±â 1ÀÇ °ËÁ¤»ö ½Ç¼±À̳ª ÆæÀ» ¸¸µé¾î DC·Î Àü¼ÛÇÏ¸é ¸¸µé¾îÁø Ææ´ë·Î ¼±ÀÌ ±×¾îÁø´Ù. ´Ù »ç¿ëÇÏ°í ³ ÈÄ¿¡´Â DeleteObject ÇÔ¼ö·Î ÆæÀ» »èÁ¦ÇØ¾ß ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â °¢°¢ÀÇ ½ºÅ¸ÀÏ·Î 4°³ÀÇ ÆæÀ» ¸¸µé¾î ¼±À» ±ß´Â´Ù. LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; HPEN MyPen[5], OldPen; int i; switch(iMessage) { case WM_PAINT: hdc=BeginPaint(hWnd, &ps); MyPen[0]=CreatePen(PS_SOLID, 5, RGB(0,0,255)); MyPen[1]=CreatePen(PS_SOLID, 3, RGB(0,255,0)); MyPen[2]=CreatePen(PS_DOT, 1, RGB(255,0,0)); MyPen[3]=CreatePen(PS_DASHDOT, 1, RGB(0,0,0)); MyPen[4]=CreatePen(PS_DASH, 1, RGB(0,0,0)); for (i=0;i<5;i++) { OldPen=(HPEN)SelectObject(hdc, MyPen[i]); MoveToEx(hdc,10,i*20+10,NULL); LineTo(hdc,200,i*20+10); SelectObject(hdc, OldPen); DeleteObject(MyPen[i]); } EndPaint(hWnd, &ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } Ãâ·Â °á°ú´Â ´ÙÀ½°ú °°´Ù. ´Ù¾çÇÑ ½ºÅ¸ÀÏ°ú »ö»óÀ¸·Î ¼±ÀÌ ±×·ÁÁø´Ù. ´ÙÀ½ ¿¹Á¦´Â PS_SOLID ½ºÅ¸ÀÏ°ú PS_INSIDEFRAME ½ºÅ¸ÀÏÀÇ Â÷ÀÌÁ¡À» º¸ÀÎ °ÍÀÌ´Ù. LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; HPEN hSolidPen, hInsidePen, OldPen; switch(iMessage) { case WM_PAINT: hdc=BeginPaint(hWnd, &ps); hSolidPen=CreatePen(PS_SOLID, 8, RGB(0,0,255)); hInsidePen=CreatePen(PS_INSIDEFRAME, 8, RGB(0,0,255)); OldPen=(HPEN)SelectObject(hdc, hSolidPen); Rectangle(hdc,10,10,100,100); SelectObject(hdc,hInsidePen); Rectangle(hdc,110,10,200,100); SelectObject(hdc, OldPen); DeleteObject(hSolidPen); DeleteObject(hInsidePen); EndPaint(hWnd, &ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } °¢°¢ ±½±â 8ÀÇ ÆæÀ¸·Î ³ÐÀÌ¿Í ÆøÀÌ 90Çȼ¿ÀÎ »ç°¢ÇüÀ» ±×·È´Ù. hSolidPenÀ¸·Î ±×¸° »ç°¢ÇüÀº 8Çȼ¿ µÎ²²ÀÇ ¼±ÀÌ »ç°¢ÇüÀÇ ¾çÂÊÀ¸·Î È®ÀåµÇ¸ç ±×·ÁÁö¹Ç·Î ±×·ÁÁø »ç°¢ÇüÀÇ ³ÐÀÌ¿Í ÆøÀÌ 94Çȼ¿ÀÌ µÇÁö¸¸ hInsidePenÀ¸·Î ±×¸° »ç°¢ÇüÀº ÆæÀÇ µÎ²²°¡ »ç°¢Çü ¾ÈÂÊÀ¸·Î¸¸ È®ÀåµÇ¾î ±×·ÁÁø »ç°¢ÇüÀÇ ³ôÀÌ¿Í ³ÐÀÌ°¡ 90Çȼ¿ÀÌ µÈ´Ù. |
||||||||||||||||
Âü°íÇÔ¼ö | CreatePenIndirect:LOGPEN ±¸Á¶Ã¼·Î ¼±Àº ÀÛ¼ºÇÑ´Ù. | ||||||||||||||||
Ç÷¿Æû | 95ÀÌ»ó | ||||||||||||||||
ÂüÁ¶ |
written by http://www.winapi.co.kr
|