问题标签 [aero-snap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4187 浏览

c++ - 以编程方式调用 Snap/Aero 最大化

有没有办法使用 C 或 C++ 为特定窗口/窗口 ID 以编程方式调用 Aera 最大化效果?

例如:

在此处输入图像描述

或者

在此处输入链接描述
(来源:thebuzzmedia.com

我正在使用一个无边框的 Qt 窗口,并且 Qt 有一个用于获取窗口 ID 的 API。我想在没有已知触发器的情况下以编程方式触发 windows 效果。

0 投票
1 回答
151 浏览

wpf - 有什么方法可以禁用特定 WPF 窗口的航空捕捉功能?

我想在不启用航空捕捉的默认功能的情况下使用该窗口....我可以通过从控制面板禁用航空捕捉功能来做到这一点....但我需要单独为特定的 WPF 窗口禁用它。

0 投票
2 回答
1341 浏览

java - 这是向 Java Frame 教授有关 Windows 的 Aero Snap 功能的唯一方法吗?

如果我JFrame通过单击 Windows WindowDecoration 的最小化按钮并通过 Alt-Tabbing 或在 Windows 任务栏中单击它来最小化被 Aero 捕捉到屏幕左侧的 a,则框架会正确恢复到左侧. 好的!

但是如果我最小化框架

并通过将鼠标悬停在 Windows 任务栏上来查看预览,它显示框架的位置错误。通过 Alt-Tabbing 取消最小化它或在 Windows 任务栏中单击它后,框架将恢复到错误的位置和大小。框架边界是“未捕捉”的值,如果您将框架拖离 ScreenBorder,Windows 通常会记住恢复该值。

错误的屏幕记录:

在此处输入图像描述

我的结论是,Java 不知道 AeroSnap 并且向 Windows 提供了错误的边界。(例如Toolkit.getDefaultToolkit().isFrameStateSupported( Frame.MAXIMIZED_VERT ) );返回 false。)

这是我对该错误的修复:

这似乎适用于 Windows7 下的所有情况,但感觉窗口管理太多了。出于某种原因,我避免在 Linux 或 MacOS 下进行测试 ;-)

有没有更好的方法让 AeroSnap 和 Java Frames 一起工作?


编辑:

我在 Oracle 提交了一个错误:http ://bugs.java.com/bugdatabase/view_bug.do?bug_id=8147840

0 投票
3 回答
884 浏览

c++ - Borderless window with Aero Snap too large in maximized state

I am trying to make a borderless window in Qt5.6.0, with aero-snap functionality. Everything works, except when I maximize the window : it is too big.

My screen resolution is 2560x1440, so the window should be sized 2560x1400 (40 Pixels for the Taskbar), but in the WM_SIZE message, the new size is 2576x1416. So the window is exactly 8 pixels too big in every direction. This also means that the window is not aligned in the top-left corner, it is exactly 8 pixels off-screen in both directions.

I can't find a solution for this problem, everything I have tried doesn't work and causes bugs.

The only thing that fixes this is to remove the WS_CAPTION and WS_THICKFRAME styles, but then I lose the areo snap functionality.

I somehow have to tell Qt or DWM to make the window 16 pixels smaller and move it 8 pixels right, and bottom. Does anybody have an idea on how to do that?

0 投票
0 回答
211 浏览

java - How to apply Aero-Snap to an borderless Stage

I am trying to apply Aero-Snap to an borderless Stage, but the native Windows functions are disabled.

I was searching for an answer to that question but I didn't found one.

Summarized I just want to add Aero-Snap to a Stage with that setting: .initStyle(StageStyle.UNDECORATED);

0 投票
1 回答
56 浏览

windows - Aero Snap 后将 WinForms 窗口恢复到正确位置

当我将 WinForms 窗口拖到屏幕顶部以执行最大化“Aero Snap”时,如果在此之后点击“恢复”按钮,窗口将恢复到正确的大小但位置错误。它在正确的位置闪烁片刻,但随后立即移动到屏幕顶部,其标题栏位于屏幕的一半。

显然,WinForms 窗口会恢复到其最大化之前的最后一个拖动位置,该位置位于屏幕顶部,以便执行 Aero Snap。

这种行为是不正确且令人讨厌的。通过对 Windows 资源管理器窗口执行相同的步骤,您可以看到正确的行为。在 Aero Snap 之后,Windows 资源管理器窗口会正确还原到最后放置的还原位置(无论它在被拖动以执行 Aero Snap 之前所在的位置)。

在 Aero Snap 之后,如何使 WinForms 窗口恢复到正确的位置,就像 Windows 资源管理器窗口一样?

我可以尝试挂钩表单定位事件并保存最后删除的恢复位置,并在 Aero Snap 后恢复后恢复该位置,但我希望有一种更简单的方法。

0 投票
1 回答
150 浏览

c++ - WM_MOVING,LPARAM 在气动快照上给出错误的值

我正在开发一个 win32 项目,该项目使用WM_MOVING来自的消息WndProc来检测窗口移动的新位置。但是当我尝试将窗口捕捉到左侧时,LPARAM 会在一毫秒内给出错误的值,然后给出实际值。

请查看输出:

实际输出是 -205,但在两者之间我得到零,这导致我的窗口内容闪烁。在我的情况下,内容的位置取决于窗口位置,因此如果我收到错误的值,它会导致闪烁。

这是我想要实现的目标:手动创建丙烯酸效果

IMG 航空按扣

当我在这种模式下(就在航空捕捉模式之前)移动窗口时,该值将变为零。

这只会影响窗口的TopLeft坐标,并且在航空捕捉到任何侧面时也会闪烁。

这是一个简单的可复制示例:

运行此程序并检查输出中的值,同时将窗口移动到任何一侧以进行航空捕捉。

注意: 在我的情况下,我将无法使用GetWindowRect()in WM_MOVING,因为在我的窗口中调用会GetWindowRect()减慢 render() 函数(只是一个 directx 绘画)。

0 投票
1 回答
83 浏览

windows - 如何获得窗口的航空捕捉状态?

当通过 aero snap 调整窗口大小时,User32.GetWindowPlacement(hWnd).rcNormalPosition 仍然存储其原始矩形,而 User32.GetWindowRect 会受到影响。
由于 aero snap 似乎独立于 WINDOWPLACEMENT,所以现在我们无法仅使用 user32.dll 收集实际放置的完整信息。因此,我想知道是否有办法获取窗口的 aero snap 状态,指示窗口是否停靠以及窗口停靠在哪一侧

0 投票
1 回答
160 浏览

c++ - Qt5:Windows 10 标题栏自定义期间的 Aero Snap

当您在 Windows 10 上自定义标题栏时,是否有人成功使用 Aero Snap?

基本的标题栏太丑了。

我已经一个星期没有解决这个问题了。请让我知道是否有解决方案,无论是 Widget 还是 Qt Quick。


我解决了这个问题。如果我的问题很粗鲁,我很抱歉。我不擅长英语。

起初,我打算用 QWidget 实现 Frameless Windows 并在其上嵌入 QQuickWidget,但我找到了更好的方法。

无框助手.h

无框助手.cpp

导入 FramelessHelper 1.0 导入 QtQuick 2.15 导入 QtQuick.Window 2.15 导入 QtQuick.Controls 2.15