1

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

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

4

2 回答 2

3

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

然而,GDI 对透明度的支持相当差。

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

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

于 2012-07-02T09:19:51.013 回答
1

这可能是LockWindowUpdate().

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

于 2012-07-02T10:39:30.250 回答