【问题标题】:Custom window frame - Smooth border?自定义窗框 - 平滑边框?
【发布时间】:2012-02-23 12:33:31
【问题描述】:

我通过在消息处理程序中处理 WM_NCPAINT 消息在我的应用程序中绘制自定义边框。问题是即使设置了窗口区域,我的应用程序的角落也不是“平滑”的。

我想也许我可以只获得屏幕的 HDC 并在角落内插入像素以获得半透明效果,但看到当用户移动窗口时我必须不断地重新绘制边框,我不要认为这是一个有效的选择。

有谁知道模拟半透明或至少平滑角落附近的边界的方法?

下面是角落的样子:

提前致谢。

【问题讨论】:

    标签: c++ winapi


    【解决方案1】:

    使用Layered Window。这适用于 Windows 2000 及更高版本。

    如果您想要 Aero Glass 效果(Vista 及以上),那么this article 可以很好地概述历史绘画技术以及使用桌面窗口管理器的详细信息。

    【讨论】:

    • 谢谢,使用分层窗口效果很好。但是,现在我的 WM_NCPAINT 处理程序不起作用:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    • 2016-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多