아래코드는 polygon을 이용해서 다각형을 그리는 코드인데요
저걸 마우스로 다각형을 그리는 방법점 알려주세요.
직선을 그리면서 다각형을 그리는 방법으로요?
<!--CodeS-->
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
static int nCount, nX, nY;
POINT pts[]={
{60,10},{160,10},{210,60},{210,160},{160,210},
{60,210},{10,160},{10,60},{60,10}
};
switch(iMessage)
{
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
SelectObject(hdc,GetStockObject(LTGRAY_BRUSH));
Polygon(hdc, pts, 9);
EndPaint(hWnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
<!--CodeE-->
WM_MOUSEMOVE
WM_LBUTTONDOWN
WM_LBUTTONUP
정도의 메시지 처리면 될꺼라 봅니다.
윈도우 API로 그림 그리는 예제가 C 로 된게 있는데 이걸 참조 하시고요.
target=_blank>http://www.winapi.co.kr/reference/Message/WM_MOUSEMOVE.htm
폴리곤 이라면 결국 마지막 점에서 처음점으로 찍는 직선을 추가 하시면 될 것 같습니다.
Canvas.Polygon 을 이용하면 되겠죠. 한번 해보시고 안되면 말씀해 주시면
간단한 코드를 작성해서 보여 드리죠.