vc++ 关于消息提示框自动关闭的问题?
请问:
1.当我点击界面按钮"A",执行代码段Code,需要较长的时间。这个时候,我想一点击按钮"A"的时候,弹出提示框告知用户,“请等待...”的提示信息,待该代码段Code执行完后,该消息提示框自动关闭。
我开始用非模式对话框来实现。。。效果不好。有什么好的方法实现吗?
code 代码段:
void CExecuteDlg::TiShi{
-------弹出消息提示框
-----完成其他功能的代码
------关闭消息提示框
}
[解决办法]
你说的效果不好是界面不好看吗,还是不好控制提示框.如果是界面不好看,可以在提示框加上背景,如果是不好控制提示框,好象是不太难吧.
其实可以在提示框里加个进度条,这个进度条可以是自己画,也可以是用控件.用自己画的好象看,用控件方便,但颜色不好改
[解决办法]
- C/C++ code
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);}
[解决办法]
void CTestDlgDlg::OnBnClickedButtonA()
{
TestChildDlg *dlg=new TestChildDlg;
dlg->Create(IDD_DIALOG1,NULL);
dlg->ShowWindow(SW_SHOW);
-----完成其他功能的代码
dlg->DestroyWindow();
}
[解决办法]
执行一段代码最好放到一个线程里,等待线程执行完毕后,再关闭模态对话框。
[解决办法]
[解决办法]
把你费时的操作放到线程函数中去做,你的UI线程中创建线程,然后弹出一个模态对话框,线程执行完成以后关闭该模态对话框即可。
[解决办法]
“我想一点击按钮"A"的时候,弹出提示框告知用户,“请等待...”的提示信息,”你的想法不对,应该是在执行代码的时候,按钮A禁用(灰色),等到代码执行完,A可以用(正常色)。
[解决办法]
我觉得用线程更好些 可以定义变量然后用来线程通信就可以了