void CRunDlg::show()
{
SetDlgItemInt(IDC_A2,B[0]); SetDlgItemInt(IDC_A3,C[0]);
SetDlgItemInt(IDC_B2,B[1]); SetDlgItemInt(IDC_B3,C[1]);
SetDlgItemInt(IDC_C2,B[2]); SetDlgItemInt(IDC_C3,C[2]);
SetDlgItemInt(IDC_D2,B[3]); SetDlgItemInt(IDC_D3,C[3]);
SetDlgItemInt(IDC_E2,B[4]); SetDlgItemInt(IDC_E3,C[4]);
SetDlgItemInt(IDC_F2,B[5]); SetDlgItemInt(IDC_F3,C[5]); Sleep(2000);
SetDlgItemInt(IDC_G2,B[6]); SetDlgItemInt(IDC_G3,C[6]); Sleep(2000);
SetDlgItemInt(IDC_ALL,X); SetDlgItemText(IDC_AVG,strNumber);}我想让系统在显示IDC_F2和IDC_F3这两个动态文本控件后,暂停2秒后再显示后面IDC_G2和IDC_G2这两个动态文本控件再暂停2秒
在显示IDC_ALL和IDC_AVG
但是系统调用这个函数后,就暂停4秒才一起显示所有的文本控件!求知道,我该怎么修改代码才能实现这个功能
{
SetDlgItemInt(IDC_A2,B[0]); SetDlgItemInt(IDC_A3,C[0]);
SetDlgItemInt(IDC_B2,B[1]); SetDlgItemInt(IDC_B3,C[1]);
SetDlgItemInt(IDC_C2,B[2]); SetDlgItemInt(IDC_C3,C[2]);
SetDlgItemInt(IDC_D2,B[3]); SetDlgItemInt(IDC_D3,C[3]);
SetDlgItemInt(IDC_E2,B[4]); SetDlgItemInt(IDC_E3,C[4]);
SetDlgItemInt(IDC_F2,B[5]); SetDlgItemInt(IDC_F3,C[5]); Sleep(2000);
SetDlgItemInt(IDC_G2,B[6]); SetDlgItemInt(IDC_G3,C[6]); Sleep(2000);
SetDlgItemInt(IDC_ALL,X); SetDlgItemText(IDC_AVG,strNumber);}我想让系统在显示IDC_F2和IDC_F3这两个动态文本控件后,暂停2秒后再显示后面IDC_G2和IDC_G2这两个动态文本控件再暂停2秒
在显示IDC_ALL和IDC_AVG
但是系统调用这个函数后,就暂停4秒才一起显示所有的文本控件!求知道,我该怎么修改代码才能实现这个功能
RedrawWindow();
BOOL CheckMessageQueue()
{
MSG msg;
while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){
if(msg.message==WM_QUIT)
return FALSE;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return TRUE;
}
void CAboutDlg::OnButton1()
{
// TODO: Add your control notification handler code here
SetDlgItemInt(IDC_EDIT1,111);
CheckMessageQueue();
Sleep(2000);
SetDlgItemInt(IDC_EDIT2,222);
CheckMessageQueue();
Sleep(2000);
SetDlgItemInt(IDC_EDIT3,333);
}
不过Sleep会让线程挂起、界面假死
我觉得应该不是你要的效果