![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| micronic |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 30.12.2013 Репутация: нет Всего: нет |
Всем доброго времени суток!
Уже вторую неделю бьюсь над созданием формы в стиле Visual Studio 2012-13. Обычно в темах с таким названием идет оживленная беседа на тему док-панелей, но мне нужно совершенно другое. Я хочу сделать форму без окантовки по краям ![]() Форма должна иметь возможность перетаскиваться мышкой за верхнюю часть, изменять свои размеры при растягивании мышкой, а так же должна поддерживать эффекты Aero Первым делом я установил FormBorderStyle: None и попытался восстановить эффекты перетаскивания:
Тут надо отметить, что я развернул на всю форму Panel для своего удобства. Размер верхней полосы, за которую необходимо перемещать окно я определил в 26 пикселей. А вот с ресайзингом и Aero у меня возникли проблемы. Похоже, что они как-то завязаны на ту самую окантовку формы. Чтобы все эти эффекты работали я был вынужден сделать так
В итоге получилось следующее ![]() Как я могу избавиться от этой окантовки вокруг формы, сохранив функционал? |
||||
|
|||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 5 Всего: 118 |
ну так никто не мешает самому делать ресайз (аналогично тому как ты делаешь перетаскивание) - т.е. рисовать (если надо) что-то вроде треугольничка, обрабатывать события мыши и менять курсор...
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| micronic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 30.12.2013 Репутация: нет Всего: нет |
На самый плохой случай - да.
Но это не решает вопросы с Aero: - отображение полупрозрачного превью при перемещении формы в самую верхнюю/левую/правую точку экрана - отображение "эффекта капли" в момент касания окном верхней/правой/левой точки экрана - Разворачивание во весь экран при отпускании окна в самой верхней точке экрана - разворачивание на пол экрана в левой или правой части - сворачивание всех остальных окон, если текущее окно взять и "потрясти" Плюс ко всему, есть еще очень важный момент, из-за которого не хочется изобретать такой сложный велосипед... Если все эти стандартные эффекты реализовать самому, в принципе можно добиться полной копии эффектов Aero, но через пол года выйдет какая-нибудь Windows 9 и ваши эффекты будут выглядеть старомодно. А переделывать такие не самые простые эффекты при каждом обновлении Aero идеологически неправильно. Даже эффект перетаскивания у меня реализован максимально независимо от меня. По факту я заставляю ОС думать, что перетаскиваю форму не за кусок панели, а как положено за заголовок окна. То есть сам механизм перетаскивания используется вполне стандартный. //--------------- А тем временем народ вовсю юзает нестандартные формы без окантовки со всеми эффектами Aero: Visual Studio, MS Office, ICQ... И я хочу Это сообщение отредактировал(а) micronic - 30.12.2013, 12:32 |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |