做一个演示程序
每一步需要间隔一段时间(比如1s)再继续进行
请问大虾们应如何实现?
每一步需要间隔一段时间(比如1s)再继续进行
请问大虾们应如何实现?
解决方案 »
- 绞尽脑汁写的一个很巧妙的,简单高效的读写锁,大家帮忙看看有没有逻辑漏洞
- CTreeCtrl有什么办法获得这个节点是否点击过呢?
- 问题:无法定位程序输入点__glutCreateWindowWithExit 位于glut32.dll上
- 急寻VC部分的MSDN 或者整体也行,先谢过!
- listctrl 放在coolbar中,,当删除多行的时候会发白闪一下,过程很明显
- 界面问题,大家帮忙看看
- CDHtmlDialog中如何设置某种颜色透明?(比如用来设置边角透明)
- 如何将一个DLL[没有原码]封装成一个新的DLL
- 关于类厂的简单问题
- 为什么在VB下能用的控件,在VC下却不能用呢。
- 真要命啊
- 文件和文件流问题???
如果中间要相应消息,
用定时器把
SetTimer
然后处理WM_TIMER消息或者直接调用函数
可是当sleep时屏幕上根本没反应的
然后就跟死了一样
过一段时间后出现,结果是正常的
可是我要在中间过程中显示
画图函数在ondraw里面
应该怎么处理呢?
void CAviFile::SleepTime(DWORD dwMilliseconds)
{
DWORD start, nowtime;
//start = timeGetTime();
start=GetTickCount();
do
{
MSG msg;
if (::PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ) )
{
//::TranslateMessage (&msg); //翻译消息
//::DispatchMessage (&msg); //撤去消息
if ( !AfxGetApp()->PumpMessage() )
{
::PostQuitMessage(0);
return;
}
}
// nowtime = timeGetTime();
nowtime=GetTickCount();
}while((nowtime-start)<dwMilliseconds);
}
至于上面的SleepTime()当然也是个不错的选择,希望它不会把你搞胡涂了。
非常感谢!
代码我已经试过了
非常好
马上结帐^_^
顺便问一个小问题
我用invalidate刷屏
请问还有其他的方式吗?
谢谢
其实,如果OnDraw()处理的好的话,更新数据时不必劳OnDraw()大驾。
如果Ondraw()里面东西太多,处理闪烁也是个问题。