[問題] 請問如何在topmost的一群視窗中始終保持最上層

看板C_and_CPP (C/C++)作者 (風)時間16年前 (2009/09/14 14:42), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
我想用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

09/15 09:39, , 1F
Dialog Create 後 ....
09/15 09:39, 1F

09/15 09:40, , 2F
SetWindowPos(hDlg, HWND_TOPMOST,0,0,0,0,SWP_SHOWWINDOW)
09/15 09:40, 2F

09/15 09:45, , 3F
小弟覺得這種事有難度說, 您可曾想過同時執行兩個您的
09/15 09:45, 3F

09/15 09:45, , 4F
dialog時, 那它們哪一個要在上面??
09/15 09:45, 4F

09/15 10:17, , 5F
好像有道理 會變成無窮迴圈也無所謂 就是一定要在最上面
09/15 10:17, 5F

09/15 10:18, , 6F
q大,好像沒用耶,另一個topmost還是可以覆蓋
09/15 10:18, 6F
文章代碼(AID): #1AhUMzMX (C_and_CPP)
文章代碼(AID): #1AhUMzMX (C_and_CPP)