你的程序有好多的错误。呵呵。1、PAINTSTURCT结构没有初始化;
2、SetPixel(hdc,LOWORD(lParam),HIWORD(lParam),RGB(255,0,0))的失败的判断不对。当它失败时返回的是-1。
3、还有如果画出来的也是红点,不是兰点。
你其实可以用下面这段代码的:
case WM_MOUSEMOVE:
{
if (wParam==MK_LBUTTON)
{
HDC hdc; hdc = GetDC(hWnd);
if(SetPixel(hdc,LOWORD(lparam),HIWORD(lparam),RGB(255,0,0)) == -1)
MessageBox(hWnd,"Error",Can't draw it!",MB_OK);
}
}
2、SetPixel(hdc,LOWORD(lParam),HIWORD(lParam),RGB(255,0,0))的失败的判断不对。当它失败时返回的是-1。
3、还有如果画出来的也是红点,不是兰点。
你其实可以用下面这段代码的:
case WM_MOUSEMOVE:
{
if (wParam==MK_LBUTTON)
{
HDC hdc; hdc = GetDC(hWnd);
if(SetPixel(hdc,LOWORD(lparam),HIWORD(lparam),RGB(255,0,0)) == -1)
MessageBox(hWnd,"Error",Can't draw it!",MB_OK);
}
}
BOOL CMousemoveDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_MOUSEMOVE)
{
if(pMsg->wParam == MK_LBUTTON)
{
CDC* pdc;
pdc = this->GetDC();
pdc->SetPixel(LOWORD(pMsg->lParam),HIWORD(pMsg->lParam),RGB(255,0,0));
this->ReleaseDC(pdc);
}
}
return CDialog::PreTranslateMessage(pMsg);
}