【问题标题】:Black highlight bar with GDI带 GDI 的黑色高亮条
【发布时间】:2012-07-02 15:27:57
【问题描述】:

我为我的 GUI 获得了一些不错的拆分器代码,但我无法获得笔/画笔/我需要进行适当突出显示的任何东西。你知道在 Visual Studio 10 中如何拖动分割条,并且有一个漂亮的黑色透明条让你知道当你抬起鼠标按钮时分割会发生在哪里。这是一张图片:http://www.freeimgshost.com/fullsize/efmcxyyu1wbyb1r7mz0.png

如何仅使用 GDI 和 c++ 实现黑色高亮条?

【问题讨论】:

    标签: c++ winapi gdi


    【解决方案1】:

    Visual Studio UI 是在 WPF 中实现的,所以我猜分隔栏只是一个半透明的填充矩形。

    但是,GDI 对透明度的支持相当差。

    您可以使用半透明、始终位于顶部的分层窗口获得相同的效果。这是一个简单的解决方案,因为您不必担心重新绘制任何东西。您只需移动窗口即可。

    This answer to another question 有一些代码可以创建这样一个窗口(用于不同的目的)。

    【讨论】:

      【解决方案2】:

      这可能是LockWindowUpdate() 的正确用法之一。

      在鼠标按下时,锁定窗口,然后直接开始绘制拖动条。由于鼠标仍被捕获,拖动条仍会收到鼠标通知。在 mouseup 上,解锁窗口,调整大小并让绘图正常进行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-27
        • 2015-05-01
        • 2012-12-08
        • 1970-01-01
        • 2020-01-21
        相关资源
        最近更新 更多