繁体   English   中英

在Win32 API(无MFC)的工具栏中获取渐变的正确方法是什么?

[英]What's the correct way to get a gradient in a toolbar in win32 API (no MFC)?

例如,Notepad ++有一个如下所示的工具栏:

Notepad ++工具栏

7-Zip有一个如下所示的工具栏:

(堆栈溢出不会让我发布更多链接,因为我是新来的)

而我的无聊又平坦,就像这样:

(堆栈溢出不会让我发布更多链接,因为我是新来的)

如何使工具栏变为3d? 有我缺少的设置吗? 我需要自己画画吗? 我什至在使用正确的控件吗? (我是否可以通过钢筋获得此信息?)由于某些原因,很难在网上找到示例。

通过将Rebar用作透明样式工具栏的父级,Explorer,7Zip和Notepad ++可以得到这种外观。

他们只是使用标准的Windows控件。 notepad ++的源代码可用 ,请在src \\ powereditor \\ wincontrols \\ toolbar \\ toolbar.cpp中查找CreateWindowEx调用。

通过启用视觉样式,也许可以使工具栏看起来更好。 为此,您需要清单文件。 如果您正在使用MSVC,则可以使用#pragma形式的嵌入式清单文件来执行此操作。

#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' \
version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM