Расширить неклиентскую область формы с настраиваемой полосой заголовка

Я использовал замечательный учебник по адресу http://www.codeproject.com/Articles/44235/Painting-Vista-s-Aero-NonClientArea-in-VB-NET, чтобы моя форма имела настраиваемые элементы управления неклиентской области. Теперь это выглядит так:

https://i.imgur.com/5A1GtF7.jpg пользовательская неклиентская область

Хотелось бы сделать так, чтобы неклиентская область простиралась до самого начала страницы TabControl, чтобы логотип был полностью в неклиентской области и не было серого в верхней части окна.


person CoolName    schedule 31.07.2014    source источник


Ответы (2)


Найдите эту строку в коде формы:

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

Теперь просто добавьте столько пикселей, сколько вам нужно:

 dwmMargins.cyTopHeight = nccsp.rect2.Top - nccsp.rect1.Top + x
person user2155059    schedule 01.01.2015

Поскольку вы можете использовать DLL, я нашел это:

Загрузите эту DLL: http://www.mediafire.com/download/jmvjiu2wty4/rtaGlassEffectsLib.dll

Затем создайте экземпляр rtaGlassEffect

Dim glass As New rtaGlassEffectsLib.rtaGlassEffect

Наконец, поместите это в обработчик событий Load вашей формы:

glass.TopBarSize = yourSize
glass.ShowEffect(Me)
person nununoisy    schedule 01.01.2015
comment
Я не думаю, что у вас есть более надежный источник для ссылки, чем mediafire? - person Nathan Tuggy; 02.01.2015