我在程序写了如此延时函数,CCMMBUSBDongle_TestDlg::Delay(DWORD Mse)
{
DWORD start;
DWORD time_i=0;
start=GetTickCount();
while(time_i<=Mse)
{
time_i=GetTickCount()-start;
}
}
并在程序中多处用到,另外在程序界面有个实时显示时间的控件,当程序中调用到此延时函数时,界面上的时间显示就会停止,而且此时界面类似于死机一样,什么都做不了。请问有什么方法改变这一状况吗?
{
DWORD start;
DWORD time_i=0;
start=GetTickCount();
while(time_i<=Mse)
{
time_i=GetTickCount()-start;
}
}
并在程序中多处用到,另外在程序界面有个实时显示时间的控件,当程序中调用到此延时函数时,界面上的时间显示就会停止,而且此时界面类似于死机一样,什么都做不了。请问有什么方法改变这一状况吗?
解决方案 »
- 关于List Control的问题
- 2008,祖国多灾多难的一年,散分,祈福!!!
- 工具栏图标散开的问题?恳请高手帮助,分不够可再加
- 一个比较基本的问题,封装底层的网络操作,这样的功能该怎么实现?
- 如何得到Recordset中符合条件的记录数
- 基于对话框的应用程序中出现的奇怪问题。。
- control + c 把文本复制到剪贴板,取回的问题
- MoveFile("I:\\1\\222.txt","I:\\2\\");
- 如何判断系统时间是否被修改过?急!!!
- inconsistent dll linkage. dllexport assumed
- 怎样实现相同的空间实例化的许多对象相应相同的事件,作出不同的反映
- 设置计时器后,内存泄漏?
开线程吧
createthread
{
……
SetTimer(1,1000,NULL); //启动1秒定时器
}映射 WM_TIMER 消息
在ID为IDC_EDIT1编辑框上显示
CCMMBUSBDongle_TestDlg::OnTimer(UINT nIDEvent)
{
CTime tm = CTime::GetCurrentTime();
CString tmStr = tm.Format(_T("%y-%m-%d %H:%M:%S"));
GetDlgItem(IDC_EDIT1)->SetWindowText(tmStr); CDialog::OnTimer(nIDEvent);
}