首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-06-09 
用mfc写的汉诺塔演示程序用mfc写了个汉诺塔的演示程序,用的单线程实现的。现在的问题是每次挪动了一个盘子

用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);
}

试试这个

热点排行