我没辙了…………
TCHAR h[20];
HDC hdc;
PAINTSTRUCT ps;
static int cxclient,cyclient,cxrect,cyrect;
static int state[5][5];
int y,x,clkxrect,clkyrect;
static RECT rect[5][5];
case WM_SIZE:
cxclient=LOWORD(lParam);
cyclient=HIWORD(lParam);
cxrect=cxclient/5;
cyrect=cyclient/5;
for(x=0;x<5;x++)
for(y=0;y<5;y++)
{
rect[x][y].top=y*cyrect;
rect[x][y].left=x*cxrect;
rect[x][y].bottom=(y+1)*cxrect;
rect[x][y].right=(x+1)*cyrect;
wsprintf(h,TEXT("%d %d %d %d %d %d"),cxrect,cyrect,cxclient,cyclient,x,y);
MessageBox(NULL,h,h,0);
}
return 0;
以上是消息循环中的一段;
运行到循环的x=3,y=2之前,一直是很正常的…………
messagebox显示cxrect ,cyrect,cxclient,cyclient 的值分别是 286 173 1430 866
到了x=3 ,y=3之后,就狂飙为865 173 2768 0
相信我……在别的地方,我绝对没有对这四个变量赋值的语句………………
我没办法了,望大虾们解答
[ 本帖最后由 深红喷火龙 于 2008-3-7 08:20 PM 编辑 ]