我为我的GUI获得了一些不错的分割器代码,但我无法获得笔/画笔/我需要做的正确突出显示。您知道在visual studio 10中,可以拖动分割条,并且有一个漂亮的黑色透明条,让您知道当您抬起鼠标按钮时分割的位置。这是一张图片:http://www.freeimgshost.com/fullsize/efmcxyyu1wbyb1r7mz0.png
如何仅使用GDI和c ++实现黑色高亮显示条?
答案 0 :(得分:3)
Visual Studio UI是在WPF中实现的,所以我猜测分割条只是一个半透明的填充矩形。
然而,GDI对透明度的支持相当差。
使用半透明,始终在线的分层窗口,您可以获得相同的效果。这是一个简单的解决方案,因为您不必担心重新绘制任何内容。你只需移动窗口。
This answer to another question有一些代码可以创建这样一个窗口(用于不同的目的)。
答案 1 :(得分:1)
这可能是LockWindowUpdate()
的正确用法之一。
在Mousedown上,锁定窗口,然后直接开始绘制拖动条。在捕获鼠标时,拖动条仍会收到鼠标通知。在鼠标上,解锁窗口,调整大小并让绘图正常进行。