2013-11-01 110 views
1

你好,我使用pjsua http://www.pjsip.org/pjsua.htm,我正在視頻通話應用程序。我的問題是,當我建立連接並開啓視頻時,如果點擊視頻,視頻窗口就會獲得焦點。所以在那一刻我無法使用我的應用程序的鍵盤快捷鍵(因爲現在視頻窗口在焦點上)。我需要停止視頻窗口根本無法點擊,以至於它永遠無法獲得焦點。停止窗口從重點點擊它

+0

該窗口獲取WM_MOUSEACTIVATE消息以表明它已被單擊。如果它不應該被激活,它應該返回MA_NOACTIVATEANDEAT。快捷鍵應始終由消息循環處理,因此哪個窗口具有焦點並不重要。 TranslateAccelerator是樣板化的方式。 –

回答

1

我通過編輯SDL窗口的鼠標事件SDL_MOUSEBUTTONDOWN解決了問題。我已經使用了BringWindowToTop,它做的工作是將焦點返回到我想要的窗口。

0

如果您的視頻窗口中wxWidgets的實現,你可以處理wxEVT_LEFT_DOWN事件和跳過它,即避免在處理程序調用event.Skip()。這將阻止默認處理程序執行並將焦點放在窗口上。然而,它不會阻止用戶以其他方式進行,例如,通過使用Alt-TAB

所以一個更好的主意是確保你也可以在視頻窗口中處理鍵盤事件。

+0

不,視頻是pjmedia,也是pjsip的一部分。無論如何,我通過其他方式解決了問題 – nikolakoco