使用自定义绘制的标题栏扩展表单上的非客户区域

时间:2014-07-31 23:58:38

标签: vb.net windows winforms aero

我在http://www.codeproject.com/Articles/44235/Painting-Vista-s-Aero-NonClientArea-in-VB-NET使用了很棒的教程,使我的表单具有自定义的非客户区控件。它现在看起来像这样:

http://i.imgur.com/5A1GtF7.jpg custom non client area

我想这样做,以便非客户区一直延伸到TabControl页面开始,因此徽标完全位于非客户区域,并且窗口顶部没有灰色。

2 个答案:

答案 0 :(得分:0)

在表单代码中找到此行:

dwmMargins.cyTopHeight = nccsp.rect2.Top - nccsp.rect1.Top

现在只需添加您需要的多个像素:

 dwmMargins.cyTopHeight = nccsp.rect2.Top - nccsp.rect1.Top + x

答案 1 :(得分:0)

既然你可以使用DLL,我发现了这个:

下载此DLL:http://www.mediafire.com/download/jmvjiu2wty4/rtaGlassEffectsLib.dll

然后创建rtaGlassEffect

的实例
Dim glass As New rtaGlassEffectsLib.rtaGlassEffect

最后将其放在您的表单Load事件处理程序中:

glass.TopBarSize = yourSize
glass.ShowEffect(Me)