读书人

用mfc写的汉诺塔演示程序解决办法

发布时间: 2012-06-09 17:16:42 作者: rapoo

用mfc写的汉诺塔演示程序
用mfc写了个汉诺塔的演示程序,用的单线程实现的。

现在的问题是每次挪动了一个盘子之后childview不会暂停的,导致结果是所有的盘子瞬间挪到了第三个塔上,

我在汉诺塔的Move函数中加了sleep(500)也无济于事,请问如何实现每次挪动一个盘子就暂停一下的功能?要用单线程实现啊。

[解决办法]
不要用消息发送来重绘,直接在Move里重绘试试。

void Move( Tower& x,Tower& y)
{
y.AddPlate(x.Top());
x.RemovePlate();
reinterpret_cast<CMainFrame*>(AfxGetApp()->m_pMainWnd)->m_wndView.UpdateWindow();
// ::PostMessage(hwnd,WM_REFRESH,0,0);
Sleep(1000);
}

试试这个

读书人网 >C++

热点推荐