
Nguyên bản được gửi bởi
Nupakachy
Các Pro có thể hướng dẫn giúp mik vẽ một đoạn thẳng bằng 1 hàm ngoài hàm OnPaint() được không, làm toàn bị lỗi rùi.,
Cái này thì có gì khó đâu bạn. Thứ nhất, bạn thêm 2 sự kiện WM_LBUTTONDOWN và WM_LBUTTONUP và xử lý sự kiện với nó, đại loại như sau
Code:
int xStart, yStart;
void CYourClass::OnLButtonDown(UINT nFlags, CPoint point){
xStart = point.x;
yStart = point.y;
}
void CYourClass::OnLButtonUp(UINT nFlags, CPoint point){
CDC *pDC = GetDC();
CPen cp(PS_SOLID,1,RGB(0,0,0));
CPen *oldPen = pDC->SelectObject(&cp);
pDC->SelectObject(&cp);
pDC->MoveTo(m_xStart,m_yStart);
pDC->LineTo(pointt.x,pointt.y);
pDC->SelectObject(oldPen);
cp.DeleteObject();
}
Bạn muốn bút vẽ đậm nhạt thế nào, màu sắc ra sao thì chỉ cần thay lại các tham số trong hàm tạo CPen thôi, không biết đây có phải cái bạn cần không?