作者worldxxi (風)
看板C_and_CPP
標題[問題] 請問如何在topmost的一群視窗中始終保持最上層
時間Mon Sep 14 14:42:04 2009
我想用MFC寫一支程式,只有dialog。
我想要讓他永遠顯示在最上層,即使是用工作管理員把其他程式調上來
也能夠在維持在最上層。
我想到的方法是在收到 WM_KILLFOCUS 訊息 的時候 用this->SetFocus()
讓他保持在最上面,可是失敗了,我在dialog裡面是這樣寫的:
BOOL xxxxx::PreTranslateMessage(MSG* pMsg)
{
switch(pMsg->message){
case WM_KILLFOCUS:
this->SetFocus();
break;
}
return CDialog::PreTranslateMessage(pMsg);
}
可是沒有作用,是不是我寫錯位置,還是說這個方法根本不可行呢?
謝謝大家的幫忙!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.96.186.76
→ qazq:Dialog Create 後 .... 09/15 09:39
→ qazq:SetWindowPos(hDlg, HWND_TOPMOST,0,0,0,0,SWP_SHOWWINDOW) 09/15 09:40
推 VictorTom:小弟覺得這種事有難度說, 您可曾想過同時執行兩個您的 09/15 09:45
→ VictorTom:dialog時, 那它們哪一個要在上面?? 09/15 09:45
→ worldxxi:好像有道理 會變成無窮迴圈也無所謂 就是一定要在最上面 09/15 10:17
→ worldxxi:q大,好像沒用耶,另一個topmost還是可以覆蓋 09/15 10:18