void CChildView::On1MouseMove(UINT nFlags, CPoint point)
{
if(pressed == true){
CClientDC dc(this);
dc.SelectStockObject(NULL_BRUSH);
dc.SetROP2(R2_NOT);
dc.MoveTo(s.x, s.y);
dc.LineTo(point);
s = point;
dc.SetROP2(R2_COPYPEN);
}
}
일단 제가 하려는 코드는 자유곡선이예요.. 위에꺼는 잘 돌아가는데
문제는 제가 하려는게 바로
void CDrawFreeline::Draw(CDC *pDC, bool selected)
{
pDC->MoveTo(m_rect.left, m_rect.top);
pDC->LineTo(point);
m_rect = point ;
DrawSelected(pDC, &m_rect);
}
여기서 나타내야하는 겁니다...ㅠㅠ
아시다시피 Draw에선 매개변수 (마우스위치 할당받는) CPoint point 라는게 없어요.. 그래서 당연히 point 부분에서 에러나구요
그래서 열심히 머리 굴리다보니 CChiledView에서 CPoint point로 위치 할당받으니
Draw에서도 위치할당받는 뭐 그런걸 쓰면 된다 생각했어요
근데 밑에 어느 님께서 ::GetCursorPos(); 이 함수 알려주시길래
헤더에 CPoint qq; 하고
void CDrawFreeline::Draw(CDC *pDC, bool selected)
{
::GetCursorPos(qq);
pDC->MoveTo(m_rect.left, m_rect.top);
pDC->LineTo(qq);
m_rect = qq;
DrawSelected(pDC, &m_rect);
}
이렇게 하니 에러뜸...
에러 내용은 error C2664: 'GetCursorPos' : 매개 변수 1을(를) 'CPoint'에서 'LPPOINT'(으)로 변환할 수 없습니다.
이거요...
아 글이 너무 길다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
안읽을거같아ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
아 교수가 아니라 고수 -_-;;
GetCursorPos는 인자 CPoint가 아니라 POINT 구조체인데 ㅋㅋㅋㅋ
아니 그럴게아니라
MouseMove 핸들러 안에서 qq = point; 이거 해주면 대는거 아닌가
void CChildView::On1MouseMove(UINT nFlags, CPoint point) 이거는 성공한거....-_-;;
제가 해야할 건 void CDrawFreeline::Draw(CDC *pDC, bool selected) 이 안에 표현해야하는것...
&qq 해봐영
하고자 하는걸 정확하게 파악할수가 읎네...
헐 대박
&qq하니까 뭔가 나온다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
우왘ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
그냥.. 잘해봐...