gpt4 book ai didi

windows - 如何防止 CWnd 获得焦点?

转载 作者:可可西里 更新时间:2023-11-01 11:39:59 24 4
gpt4 key购买 nike

我编写了一个 MFC 应用程序,需要一个不会将输入焦点从另一个窗口移开的按钮。

不幸的是,当用户用鼠标单击按钮时,删除 WS_TABSTOP 样式没有帮助。当我阻止 WM_LBUTTONDOWN 时,我没有看到视觉按下指示,所以这也不起作用。

最佳答案

如果有一个特定的窗口您想保持焦点,您可以在按钮的 OnLButtonDown< 中使用 CWnd::SetFocus() 命令将焦点强制返回到您的窗口处理程序。

如果您希望焦点恢复到多个窗口之一,您可以尝试子类化 CButton 并捕获当键盘焦点更改为按钮时发送的 CWnd::OnSetFocus() 消息。

OnSetFocus() 事件包含刚刚失去焦点的控件的 CWnd,因此您可以手动将其放回原处,或者作为 OnSetFocus() 的一部分事件本身,或稍后再次作为 OnLButtonDown() 处理程序的一部分。

关于windows - 如何防止 CWnd 获得焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3064484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com