2012-09-17 45 views
0

我想複製當您嘗試點擊由AfxMessageBox()創建的模式對話框之外時所獲得的行爲。標題欄快速閃爍幾次,併發出嗶聲。使用CWnd :: FlashWindow()我只能得到一個或兩個非常慢的閃爍。缺少的鏈接是什麼?如何在MFC中快速閃爍標題欄

+2

我不知道,如果它在MFC中,但'FlashWindowEx'可以讓你控制速度和閃爍次數。 – chris

+0

@chris:爲了使MFC函數能夠調用它們,Win32函數不必是「in」MFC。調用'FlashWindowEx'可能是這裏的正確答案。 –

+0

@GregHewgill,是的,我的意思是我不知道MFC是否包裝了這個零件,或者是否必須手動進行本地調用。 – chris

回答

1

看着the docs,我找到了CWnd::FlashWindowEx,它可以讓你指定每個flash之間的超時時間。如果您要五次閃爍共計一秒鐘,請將200指定爲超時值(毫秒),將5指定爲閃光次數。

windowObject.FlashWindowEx(FLASHW_CAPTION, 5, 200); 

有關笛音,你可以不喜歡原生MessageBeep

MessageBeep(MB_OK); 
+0

查看完全相同的文檔,沒有從CWnd :: FlashWindow()頁面引用此函數,並且該頁面上的SDK FlashWindowEx頁面的鏈接是斷開的鏈接。謝謝,微軟。此外,它列出它在MSVC2005中可用...但到目前爲止,我的MSVC2005無法找到該功能。嗯...... – omatai

+0

@omatai,是的,在某些特定時間,文檔可能非常煩人。我無法提供任何使用MFC的經驗,對不起。 – chris

+0

@omatai,VS 2012的MFC應用程序似乎沒有任何問題,將其作爲CWnd的一部分。 – chris