带有 GDI 的黑色突出显示条
Black highlight bar with GDI
我为我的GUI提供了一些不错的拆分器代码,但我无法获得笔/画笔/我需要正确突出显示的任何东西。您知道如何在 Visual Studio 10 中拖动拆分条,并且有一个漂亮的黑色透明条,让您知道当您抬起鼠标按钮时拆分将发生的位置。这是一张图片: http://www.freeimgshost.com/fullsize/efmcxyyu1wbyb1r7mz0.png
如何仅使用 GDI 和 c++ 实现黑色突出显示栏?
Visual Studio UI是在WPF中实现的,所以我猜拆分条只是一个半透明的填充矩形。
但是,GDI对透明度的支持相当差。
您可以使用半透明、始终位于顶部的分层窗口获得相同的效果。 这是一个简单的解决方案,因为您不必担心重新绘制任何东西。 您只需移动窗口即可。
另一个问题的答案有一些创建这样一个窗口的代码(用于不同的目的)。
这可能是
LockWindowUpdate()
的正确用途之一。
在鼠标按下时,锁定窗口,然后直接开始绘制拖动条。由于鼠标仍被捕获,拖动栏仍将收到鼠标通知。在鼠标向上时,解锁窗口,调整大小,让绘图照常进行。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 程序崩溃并显示"std::out_of_range"错误
- 纹理显示为黑色
- openCV中的Absdiff可以编译,但显示黑色图像
- 带有Clang的DirectX11显示黑色纹理(与Visual Studio配合使用)
- EVR在播放前固定后在窗口上显示几个黑色框架
- 从libpng加载的png纹理在OpenGL中显示为黑色
- 在opencv中使用imwrite保存图像时,会将图像全部写入黑色,但imshow会正确显示
- OpenGL3两组着色器,纹理显示为黑色
- 带有 GDI 的黑色突出显示条
- OpenGL位图程序只显示白色,黑色和黄色
- cocos2d-x ResolutionPolicy::SHOW_ALL显示漂亮的图像,而不是黑色的间隙
- SDL_LoadBMP()在引用表面时显示黑色表面
- 使用NDK从本机内存恢复图像会返回无显示的黑色图像
- 纹理在OpenGL 3.3与GLSL中显示为黑色
- Cimg显示呈现黑色