百鬼夜行天 发表于 2024-9-9 12:33:04

WS_EX_NOACTIVATE 让窗口不激活也不获得输入焦点源码


WS_EX_NOACTIVATE 可以让窗体被点击后 也不激活,不抢夺焦点,同时窗口上的输入框也不会默认获得输入焦点。

设置
LONG style = GetWindowLong(hwnd, GWL_EXSTYLE);
//设置WS_EX_NOACTIVATE属性,不激活焦点属性,这样选中时就不会因为输入焦点切换干扰电脑
if ((style & WS_EX_NOACTIVATE) != WS_EX_NOACTIVATE)//如果不存在则加上
    //WS_EX_NOACTIVATE是不激活焦点属性,这样选中时就不会干扰电脑
    SetWindowLong(hwnd, GWL_EXSTYLE, style | WS_EX_NOACTIVATE);

取消
LONG style = GetWindowLong(hwnd, GWL_EXSTYLE);
//存在WS_EX_NOACTIVATE属性 则去掉
if ((style & WS_EX_NOACTIVATE) == WS_EX_NOACTIVATE)
    SetWindowLong(hwnd, GWL_EXSTYLE, style&~WS_EX_NOACTIVATE);

页: [1]
查看完整版本: WS_EX_NOACTIVATE 让窗口不激活也不获得输入焦点源码