如何在Sleep调用之前刷新MFC对话框

问题描述

我有一系列保存位图图像的按钮。 我试图将其中一个按钮的图像更改为另一图像一秒钟,然后再次进行更改-但是在睡眠期间,UI仍然显示旧图像,好像我没有更改它一样-这意味着我完全看不到bmp_explosion

void COOPFinalDlg::ShowExplosion(int position)
{
    SetButtonImage(position,bmp_explosion);
    Sleep(1000);
    SetButtonImage(position,bmp_tile);
}

void COOPFinalDlg::SetButtonImage(int buttonId,int imageId)
{
    CButton* button = buttons[buttonId - ButtonRangeStart];
    CBitmap bmp;
    bmp.LoadBitmap(imageId);
    button->SetBitmap(bmp);
}

通过以下方式将按钮初始化为位图:

CBitmap bmp;
bmp.LoadBitmap(bmp_tile);
CRect rect(....);
CButton* button = new CButton;
button->Create(NULL,WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON | DT_CENTER | WS_BORDER,rect,this,idCounter++);
button->ModifyStyle(0,BS_BITMAP);
button->SetBitmap(bmp);
buttons.Add(button);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...