![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как увеличить высоту заголовка формы.
Юрий Лосев © (2008-03-06 23:39:00)Как создать окно с увеличенной верхней частью неклиентской области, примерно так:
http://l-s-v.nm.ru/1.jpg
(перейдите пожалуйста по ссылке, рисунок непосредственно в пост не вставляется)
то есть надо увеличить высоту заголовка формы. Все перепробовал, ничего не получается, но знаю, что это возможно, так как мне дали это в тестовом задании по программированию.
oxffff (2008-03-07 11:21:00) [1]http://www.codeproject.com/KB/vista/AeroGlassForms.aspx
We can now use these methods to ensure Aero effects are enabled, and then call DwmExtendFrameIntoClientAreato extend the Glass effect into the client area as follows. This only needs to be done once, so we can use the Forms OnLoad method to set up the desired Glass region.
KSergey (2008-03-07 11:15:00) [2]> oxffff © (07.03.08 11:07) [7]
О, ключевые слова. Спасибо.
oxffff (2008-03-07 11:07:00) [3]The Windows Vista operating system fundamentally changes the way the non-client area is rendered, making it almost impossible (if not actually impossible) to paint onto this area without adversely affecting the look and feel. This is because the new Windows Vista graphics engine renders the non-client area outside of the GDI using the new Desktop Windows Manager (DWM).
The DWM is able to render visual effects such as Aero glass by drawing directly to video memory. In doing this it allows the system to perform complex blending of content from multiple applications without adversely effecting performance.
The DWM does provide an API for customising the way it renders specific windows forms through the use of window attributes and Win32 calls. This provides limited control over the rendering of the non-client areas. For example in a previous article I discussed using the DWM API to extend the non-client into a windows form to increase the glass surface area. To date however there doesn't appear to be a solution for rendering a button cleanly onto the non-client area without loosing the visual effects.
In some ways not being able to draw in the non-client area is a good thing. It leads to cleaner more consistent interfaces and adheres to the recommended Microsoft standards for interface design. That said, sometimes there is a need for more flexibility in application design and a valid argument for making use of the non-client area without loosing the standard look & feel. The library discussed in this article provides one possible solution. The alternative would be to paint the entire title bar yourself including the system buttons, or disable composition effects in the application and use the traditional Win32 calls to draw within the NC area.
KSergey (2008-03-07 10:52:00) [4]Хоть бы кто-нибудь хоть какую-нибудь идейку подкинул... чета у меня нету :(
(отрисовывание ручками полностью - не рассматриваем, это понятно)
Игорь Шевченко (2008-03-07 10:36:00) [5]
> так как мне дали это в тестовом задании по программированию.
Это где такие тесты ?
oxffff (2008-03-07 10:26:00) [6]Я в программировании новенький.
Может тебе уменьшить разрешение?
В.В. Дельфин (2008-03-07 10:11:00) [7]Жесть. А тебе зачем ?
Юрий Лосев (2008-03-07 01:15:00) [8]А что же там? Как раз высота заголовка и увеличена.
Eraser (2008-03-06 23:51:00) [9]> [0] Юрий Лосев (06.03.08 23:39)
в этом примере высота заголовка не увеличина.