Вячеслав Опубликовано 29 августа, 2014 Поделиться Опубликовано 29 августа, 2014 День добрый! Необходимо создать форму, размер которой превышал бы размер экрана (буквально на несколько пикселей). А ее даже вручную растянуть не получается, windows, по ходу, блокирует эту возможность. Есть способы? Цитата Ссылка на комментарий
0 AngryOwl Опубликовано 29 августа, 2014 Поделиться Опубликовано 29 августа, 2014 (изменено) Добрый! Без проблем! Если форма будет иметь следующие свойства (пишу только измененные по умолчанию): Border.Styling = False BorderStyle = None то форма может иметь любые размеры и перемещать Вы ее можете как угодно - она не будет "прилипать". Жесты обрабатываются нормально, но для этого нужно: расположить на форме любой "контейнер" (TPanel например), задать ему свойство Align = Contents, Установите HitTest = True. Все элементы расположите на "контейнере". В нашем приложении Sphere Live при отключенных рамках (в настройках можно включить/отключить стандартные рамки окна) мы так и делаем. (кстати в нашем приложении работает именно тот пример, который Вы и описали, в случае полноэкранного) P.S. Вам ведь не нужны рамки формы? Т.к. Вы хотите размеры формы больше размеров экрана... При том, что это не ограничивает Вас в функциях изменения размеров и перемещения формы (размеры менять TSizeGrip, а перемещать за любой компонент на форме, если у него стоит свойство HitTest = True, а в обработчике OnMouseDown просписано StartWindowDrag;) Изменено 7 сентября, 2014 пользователем Brovin Yaroslav Объединил два ответа в один Kitty и Brovin Yaroslav 2 Цитата Ссылка на комментарий
0 Вячеслав Опубликовано 29 августа, 2014 Автор Поделиться Опубликовано 29 августа, 2014 Это же просто прекрасно! Спасибо большое! Цитата Ссылка на комментарий
0 AngryOwl Опубликовано 29 августа, 2014 Поделиться Опубликовано 29 августа, 2014 Если вопрос решен, то, думаю, стоит закрыть его. Для того чтобы форма могла иметь размеры экрана или больше, при этом не "прилипала" к краям рабочего стола (как срабатывает Windows по умолчанию), нужно: чтобы форма имела следующие свойства (пишу только измененные по умолчанию): Border.Styling = False BorderStyle = None в этом случае форма может иметь любые размеры и перемещать Вы ее можете как угодно - она не будет "прилипать". При том, что это не ограничивает Вас в функциях изменения размеров и перемещения формы (размеры менять TSizeGrip, а перемещать за любой компонент на форме, если у него стоит свойство HitTest = True, а в обработчике компонента OnMouseDown просписано StartWindowDrag;) Чтобы форма, в случае отсутствия "рамок", адекватно реагировала на "жесты": - расположите на форме любой "контейнер" (TPanel например), - задайте ему свойство Align = Contents, - и установите HitTest = True. - А все элементы расположите на "контейнере". Цитата Ссылка на комментарий
0 Вячеслав Опубликовано 29 августа, 2014 Автор Поделиться Опубликовано 29 августа, 2014 Думаю, что все должно завестись, но смогу проверить лишь на работе в понедельник. Как проверю-сразу отпишусь К сожалению, жесты так и не завелись. Сделал все так, как Вы описали, но результат прежний-при отсутствии у формы рамки FireMonkey не обрабатывает жесты. По крайней мере на версии XE5 Цитата Ссылка на комментарий
0 AngryOwl Опубликовано 6 сентября, 2014 Поделиться Опубликовано 6 сентября, 2014 Проверить на XE5 уже нет возможности. Но на XE6-XE7 все работает. Однозначно. Brovin Yaroslav 1 Цитата Ссылка на комментарий
0 Вячеслав Опубликовано 2 ноября, 2014 Автор Поделиться Опубликовано 2 ноября, 2014 Увы, не работает. Каким баг был, таким и остался. Думаю, при каком то особенном стечении обстоятельств запустить жесты в полноэкранном режиме возможно, но из коробки они не работают уже на протяжении минимум трех версий студии. Цитата Ссылка на комментарий
Вопрос
Вячеслав
День добрый! Необходимо создать форму, размер которой превышал бы размер экрана (буквально на несколько пикселей). А ее даже вручную растянуть не получается, windows, по ходу, блокирует эту возможность. Есть способы?
Ссылка на комментарий
6 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.