只是想实现delay的功能,用settimer很烦的,还要定义callback timeproc我的原意是想让程序执行到此,停顿个几秒钟,但又找不到dalay()函数 (以前用惯了),只有用这个看上去差不多的sleep(),但发现有上述问题, 有哪位大虾能帮我解决一下?
解决方案 »
- 关于CRichEditCtrl::FormatRange这个函数显示的时候表格如果当页不能完全显示将显示到下一页。
- 把一个大窗口分割成几个小的子窗口,就象vc6.0界面那样,如何实现?
- Help!InternetCrackUrl的疑惑?
- 关于CWinApp::ExitInstance()
- 游戏修改的问题
- 我是新手,帮帮忙吧
- 高薪诚聘熟练的C/C++程序员。
- 用CFile::Rename(CString,CString)重命名文件有时会失败,疑惑
- 请问,在报表风格的CLlistCtrl中,如何使Item在点击下变为可编辑?
- 两个问题,求救!!!
- 谁熟悉 CGridCtrl ?
- 急!急!急!!!汉字的低字节的高位一定是0吗?
do
{
MSG msg;
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);// Translates virtual key codes
DispatchMessage(&msg); // Dispatches message to window
}
}while(GetTickCount()<begintime+2000);//2秒=2000毫秒
DWORD begintime=GetTickCount();
do
{
MSG msg;
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);// Translates virtual key codes
DispatchMessage(&msg); // Dispatches message to window
}
}while(GetTickCount()<begintime+2000);//2秒=2000毫秒
它是将当前线程挂起
因为以前没有wnd窗口时,你delay一下看不出什么
(而且dos下面只能有一个进程)
而现在MoveWindow之后,必须有足够的时间将刷新的消息传给windows,
所以你马上用Sleep()就会出现你说的情况
在这种情况下我一向用自己定义的delay函数,就是上面我回复的
它既可以阻止当前线程的运行,
又不耽误其它windows消息的传递