爱编程吧 关注:78贴子:554
  • 3回复贴,共1

跟着传送门过来求助。。。

只看楼主收藏回复

我定义了一个计时器函数,然后在OnTimer函数里面写了这段代码。
CClientDC dc(this);
if(hang==3)
{
hang=0;lie=0;
}
if(lie<4)
{
neicun->SelectObject(bm[hang][lie]);
dc.BitBlt(0,0,40,40,mcd,0,0,SRCCOPY);
lie++;
}
else
{
neicun->SelectObject(bm[hang][lie]);
dc.BitBlt(0,0,40,40,mcd,0,0,SRCCOPY);
lie=0;
hang++;
}
为什么窗口上会显示bm[3][0]这张图片呢。
幸好我的bm是bm[4][4]的,不然程序就崩溃了。。。
这要怎么解决呢


1楼2014-07-12 00:41回复
    你要追踪你的变量在哪些地方改写了。1:是否有其它的线程在更改这两个索引变量
    2:你可以调试跟一下这个TIMER调用。执行过程可能和你预想的不一样。


    IP属地:北京2楼2014-07-12 11:46
    收起回复