C# 在窗口上绘制工具栏';s标题栏

C# 在窗口上绘制工具栏';s标题栏,c#,winforms,windows-vista,titlebar,C#,Winforms,Windows Vista,Titlebar,如何在WindowsVista中的C#winforms窗口标题栏上绘制工具栏?我有一个可以工作的窗口,但当窗口未缩小/未最大化时,它的大小会增加约16x32px。如果可能,请提供代码示例。有效执行此操作的唯一方法是在重写表单的WndProc方法时处理WM_NCPAINT消息 传递到WndProc的基本实现将导致绘制windows框架,但此时,您将负责在标题栏上绘制工具栏元素 您还需要处理所有其他WM_NC*消息,这将允许您处理按钮单击等(您需要处理绘制控件的事件)。唯一有效的方法是在覆盖表单的W

如何在WindowsVista中的C#winforms窗口标题栏上绘制工具栏?我有一个可以工作的窗口,但当窗口未缩小/未最大化时,它的大小会增加约16x32px。如果可能,请提供代码示例。

有效执行此操作的唯一方法是在重写表单的WndProc方法时处理WM_NCPAINT消息

传递到WndProc的基本实现将导致绘制windows框架,但此时,您将负责在标题栏上绘制工具栏元素


您还需要处理所有其他WM_NC*消息,这将允许您处理按钮单击等(您需要处理绘制控件的事件)。

唯一有效的方法是在覆盖表单的WndProc方法时处理WM_NC*消息

传递到WndProc的基本实现将导致绘制windows框架,但此时,您将负责在标题栏上绘制工具栏元素


您还需要处理所有其他WM_NC*消息,这将允许您处理按钮单击等(您需要处理绘制控件的事件)。

我一直在寻找相同的问题,因为我想用左上角的大按钮编写一个功能区条。。。我找到的唯一好的源代码是on和。

我一直在寻找相同的问题,因为我想用左上角的那个大按钮编写一个功能区条。。。我找到的唯一好的来源是在和上。

我已经查看了这些,并且正在使用中的来源,但是每次未缩放/未最大化窗口时,窗口的大小都会出现问题。您可能需要手动重置表单的大小以克服此问题。我已经查看了这些,并且正在使用中的来源,但是每次窗口未缩小/未最大化时,窗口的大小都会出现问题。您可能需要手动重置窗体的大小以克服此问题。