vc++ 关于消息提示框自动关闭的问题?

^8^ 2012-02-28 02:30:54
请问:
1.当我点击界面按钮"A",执行代码段Code,需要较长的时间。这个时候,我想一点击按钮"A"的时候,弹出提示框告知用户,“请等待...”的提示信息,待该代码段Code执行完后,该消息提示框自动关闭。
我开始用非模式对话框来实现。。。效果不好。有什么好的方法实现吗?

code 代码段:

void CExecuteDlg::TiShi{

-------弹出消息提示框

-----完成其他功能的代码

------关闭消息提示框



}
...全文
435 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiejieaiai 2012-02-29
  • 打赏
  • 举报
回复
我觉得用线程更好些 可以定义变量然后用来线程通信就可以了
shn521 2012-02-28
  • 打赏
  • 举报
回复
“我想一点击按钮"A"的时候,弹出提示框告知用户,“请等待...”的提示信息,”你的想法不对,应该是在执行代码的时候,按钮A禁用(灰色),等到代码执行完,A可以用(正常色)。
Eleven 2012-02-28
  • 打赏
  • 举报
回复
把你费时的操作放到线程函数中去做,你的UI线程中创建线程,然后弹出一个模态对话框,线程执行完成以后关闭该模态对话框即可。
tzxx 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 luckytwo667 的回复:]
引用 3 楼 liuli7786 的回复:
void CTestDlgDlg::OnBnClickedButtonA()
{
TestChildDlg *dlg=new TestChildDlg;
dlg->Create(IDD_DIALOG1,NULL);
dlg->ShowWindow(SW_SHOW);

-----完成其他功能的代码

dlg->DestroyWindow……
[/Quote]
单线程的缘故吧,执行代码的过程中,窗口消息被阻塞。
JoeBlackzqq 2012-02-28
  • 打赏
  • 举报
回复
执行一段代码最好放到一个线程里,等待线程执行完毕后,再关闭模态对话框。
^8^ 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liuli7786 的回复:]
void CTestDlgDlg::OnBnClickedButtonA()
{
TestChildDlg *dlg=new TestChildDlg;
dlg->Create(IDD_DIALOG1,NULL);
dlg->ShowWindow(SW_SHOW);

-----完成其他功能的代码

dlg->DestroyWindow();
}
[/Quote]

我之前用的就是这种方法。行不通。整个非模态对话框一片灰色,当推出函数时,恢复显示。
liuli7786 2012-02-28
  • 打赏
  • 举报
回复
void CTestDlgDlg::OnBnClickedButtonA()
{
TestChildDlg *dlg=new TestChildDlg;
dlg->Create(IDD_DIALOG1,NULL);
dlg->ShowWindow(SW_SHOW);

-----完成其他功能的代码

dlg->DestroyWindow();
}
CppCoder 2012-02-28
  • 打赏
  • 举报
回复

class CExecuteDlg : public CDialog
{
...
public:
static UINT MyThread(LPVOID pParam);
...
};




UINT CExecuteDlg::MyThread(LPVOID pParam)
{
//弹出消息提示框

//完成其他功能的代码

//关闭消息提示框
return 0;
}

void CExecuteDlg::OnButtonTest()
{
// TODO: Add your control notification handler code here
CWinThread *pThread = AfxBeginThread(MyThread, this);

::WaitForSingleObject(pThread->m_hThread, INFINITE);
}


仅供参考
hdg3707 2012-02-28
  • 打赏
  • 举报
回复
你说的效果不好是界面不好看吗,还是不好控制提示框.如果是界面不好看,可以在提示框加上背景,如果是不好控制提示框,好象是不太难吧.
其实可以在提示框里加个进度条,这个进度条可以是自己画,也可以是用控件.用自己画的好象看,用控件方便,但颜色不好改

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧