我定义了一个全局数组:
POINT XY[7];
同时我又定义了一个全局数组:
POINT pt[10000];用来记录WM_MOUSEMOVE时的鼠标的点:
pt[count++].x=LOWORD(lParam);
pt[count++].y=HIWORD(lParam);
在WM_LBUTTONUP中我想把XY[i]中的已有的值改成鼠标松开时的坐标,既:
XY[I].x=pt[count-1].x;XY[i].y=pt[count-1].y;
同时我调用InvalidRect();
本以为行,但在执行程序时,执行到LBUTTONUP时,出现非法错误!!
不知道是为什么?如果在WM_LBUTTONUP去掉XY[I].x=pt[count-1].x;XY[i].y=pt[count-1].y;就没有毛病了,我怎么也想不明白,难道是不能该全局数组?
但pt这个可以啊?难道是不能该已经赋值了的数组??
我百思不得其解,所以发贴求助啊!
那位大哥知道这个问题啊?(虽然很菜)
小弟谢过了!
POINT XY[7];
同时我又定义了一个全局数组:
POINT pt[10000];用来记录WM_MOUSEMOVE时的鼠标的点:
pt[count++].x=LOWORD(lParam);
pt[count++].y=HIWORD(lParam);
在WM_LBUTTONUP中我想把XY[i]中的已有的值改成鼠标松开时的坐标,既:
XY[I].x=pt[count-1].x;XY[i].y=pt[count-1].y;
同时我调用InvalidRect();
本以为行,但在执行程序时,执行到LBUTTONUP时,出现非法错误!!
不知道是为什么?如果在WM_LBUTTONUP去掉XY[I].x=pt[count-1].x;XY[i].y=pt[count-1].y;就没有毛病了,我怎么也想不明白,难道是不能该全局数组?
但pt这个可以啊?难道是不能该已经赋值了的数组??
我百思不得其解,所以发贴求助啊!
那位大哥知道这个问题啊?(虽然很菜)
小弟谢过了!
调用WM_PAINT消息啊!
if (wParam & MK_LBUTTON && count < 1000)
{
pt[count++].x = LOWORD (lParam) ;
pt[count++].y = HIWORD (lParam) ;
}
break;
注:我在LBUTTONDOWN中有:count=0;
case WM_LBUTTONUP:
XY[flag].x=ptt[iCount-1].x;XY[flag].y=ptt[iCount-1].y;
InvalidateRect(hWnd,&rt,FALSE);
break;
我在WM_PAINT中有个DRAWB()函数;可以画XY重的点,本想通过鼠标改点,再调用画,可是不行啊!