【发布时间】:2012-03-08 17:24:09
【问题描述】:
我有一个 100x100 的窗口,但我只想绘制 50x100 并在不使用 WS_EX_LAYERED 的情况下保持右侧透明。启用自动隐藏后,Windows 任务栏似乎会执行此操作。根据 GetWindowRect,任务栏高 40 像素,但只有 2 像素可见。怎么可能有一个比屏幕上显示的窗口更大的窗口而不使它成为一个分层窗口?
【问题讨论】:
标签: winapi
我有一个 100x100 的窗口,但我只想绘制 50x100 并在不使用 WS_EX_LAYERED 的情况下保持右侧透明。启用自动隐藏后,Windows 任务栏似乎会执行此操作。根据 GetWindowRect,任务栏高 40 像素,但只有 2 像素可见。怎么可能有一个比屏幕上显示的窗口更大的窗口而不使它成为一个分层窗口?
【问题讨论】:
标签: winapi
SetWindowRgn 使您的窗口小于其GetWindowRect。
【讨论】:
如果您仔细观察,您会发现任务栏有 40 像素高,但其中 38 个像素不在屏幕上。
【讨论】:
GetWindowRgn 并看到它返回一个矩形,该矩形将第二个监视器剪掉。