[英]Automatically Move Focus Between Dialogs
我有一個模式對話框,它在按下按鈕時顯示一個無模式的“伴隨對話框”。 為了使 UI 更加直觀和流暢,我希望焦點跟隨鼠標並在對話框之間移動,而無需額外的點擊。
是否有一個簡單的消息處理程序可以在這里提供幫助? 我想我可以通過在每個對話框中使用TrackMouseEvent
和OnMouseHover
來做到這一點 - 但對於這樣一個“簡單”的效果來說,這似乎很OnMouseHover
?
好吧……所以我完全想不通了! 只需使用OnMouseMove
和OnNcMouseMove
:
//------------------------------------------------------------------------------
void DlgA::OnMouseMove(UINT nFlags, CPoint point)
//------------------------------------------------------------------------------
{
HWND hwnd = ::GetActiveWindow();
if (pDlgB != NULL)
{
if (hwnd == pDlgB->GetSafeHwnd())
{
// Make the focus switch automatically
SetFocus();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.