| ¿øÇü | 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
|