【发布时间】:2026-01-01 23:25:01
【问题描述】:
如何在 windows vista 中的 C# winforms 窗口的标题栏上绘制工具栏?我有一个可以工作的窗口,除非窗口未最小化/未最大化,它的大小增加了大约 16x32px。如果可能,请提供代码示例。
【问题讨论】:
标签: c# winforms windows-vista titlebar
如何在 windows vista 中的 C# winforms 窗口的标题栏上绘制工具栏?我有一个可以工作的窗口,除非窗口未最小化/未最大化,它的大小增加了大约 16x32px。如果可能,请提供代码示例。
【问题讨论】:
标签: c# winforms windows-vista titlebar
有效地做到这一点的唯一方法是在您覆盖 Form 的 WndProc 方法时处理 WM_NCPAINT 消息。
传递给 WndProc 的基本实现将导致绘制窗口框架,但此时,您将负责在标题栏上绘制工具栏元素。
您还需要处理所有其他 WM_NC* 消息,这将允许您处理按钮单击等(您需要处理绘制控件的事件)。
【讨论】:
我一直在寻找同样的问题,因为我想编写一个带有左上角那个大按钮的功能区栏...我找到的唯一好来源是 CodeProject罢工>this blog 和 this one 和 another one。
【讨论】: