C++ 如何在MFC中快速刷新标题栏

C++ 如何在MFC中快速刷新标题栏,c++,mfc,C++,Mfc,我想复制当您尝试在模式对话框(如由AfxMessageBox()创建的对话框)外部单击时所获得的行为。标题栏闪烁几次,并发出嘟嘟声。使用CWnd::FlashWindow()我只能得到一到两次非常慢的闪烁。缺少的链接是什么?查看,我发现了CWnd::FlashWindowEx,它允许您指定每个闪存之间的超时时间。如果希望五次闪烁总共花费1秒,请指定200作为超时值(毫秒),5作为闪烁次数 windowObject.FlashWindowEx(FLASHW_CAPTION, 5, 200); 对

我想复制当您尝试在模式对话框(如由AfxMessageBox()创建的对话框)外部单击时所获得的行为。标题栏闪烁几次,并发出嘟嘟声。使用CWnd::FlashWindow()我只能得到一到两次非常慢的闪烁。缺少的链接是什么?

查看,我发现了
CWnd::FlashWindowEx
,它允许您指定每个闪存之间的超时时间。如果希望五次闪烁总共花费1秒,请指定200作为超时值(毫秒),5作为闪烁次数

windowObject.FlashWindowEx(FLASHW_CAPTION, 5, 200);
对于嘟嘟声,您可以执行与本机类似的操作:


我不知道它是否在MFC中,但是
FlashWindowEx
允许您控制闪烁的速度和数量。@chris:Win32函数不必“在”MFC中,MFC函数才能调用它们。在这里调用
FlashWindowEx
可能是正确的答案。@GregHewgill,是的,我的意思是我不知道MFC是否将该部分打包或其他内容,或者是否必须手动进行本机调用。你可能是对的。。。尽管Microsoft文档中充满了关于该主题的断开链接和缺少的参考。谢谢查看完全相同的文档,CWnd::FlashWindow()页面中没有对该函数的引用,而此页面上指向SDK FlashWindowEx页面的链接是一个断开的链接。谢谢,微软。此外,它还将其列为MSVC2005中的可用项。。。但到目前为止,我的MSVC2005找不到该函数。嗯,嗯…@omatai,是的,文档在某些时候很烦人。很抱歉,我也无法提供在MFC中使用这些软件的任何经验。@omatai,VS 2012 MFC应用程序似乎很容易找到它作为
CWnd
的一部分。
MessageBeep(MB_OK);