Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как задать форме размер больше размера экрана?


Вячеслав

Вопрос

День добрый! Необходимо создать форму, размер которой превышал бы размер экрана (буквально на несколько пикселей). А ее даже вручную растянуть не получается, windows, по ходу, блокирует эту возможность. Есть способы?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Добрый!

 

Без проблем!

Если форма будет иметь следующие свойства (пишу только измененные по умолчанию):

Border.Styling = False
BorderStyle = None

то форма может иметь любые размеры и перемещать Вы ее можете как угодно - она не будет "прилипать".

 

Жесты обрабатываются нормально, но для этого нужно:

  1. расположить на форме любой "контейнер" (TPanel например),
  2. задать ему свойство Align = Contents,
  3. Установите HitTest = True.
  4. Все элементы расположите на "контейнере".

В нашем приложении Sphere Live при отключенных рамках (в настройках можно включить/отключить стандартные рамки окна) мы так и делаем.

(кстати в нашем приложении работает именно тот пример, который Вы и описали, в случае полноэкранного)

 

P.S. Вам ведь не нужны рамки формы? Т.к. Вы хотите размеры формы больше размеров экрана... При том, что это не ограничивает Вас в функциях изменения размеров и перемещения формы (размеры менять TSizeGrip, а перемещать за любой компонент на форме, если у него стоит свойство HitTest = True, а в обработчике OnMouseDown просписано StartWindowDrag;)

Изменено пользователем Brovin Yaroslav
Объединил два ответа в один
Ссылка на комментарий
  • 0

Если вопрос решен, то, думаю, стоит закрыть его.

 

Для того чтобы форма могла иметь размеры экрана или больше, при этом не "прилипала" к краям рабочего стола (как срабатывает Windows по умолчанию), нужно:

чтобы форма имела следующие свойства (пишу только измененные по умолчанию):

Border.Styling = False
BorderStyle = None

в этом случае форма может иметь любые размеры и перемещать Вы ее можете как угодно - она не будет "прилипать".

 

При том, что это не ограничивает Вас в функциях изменения размеров и перемещения формы (размеры менять TSizeGrip, а перемещать за любой компонент на форме, если у него стоит свойство HitTest = True, а в обработчике компонента OnMouseDown просписано StartWindowDrag;)

 

Чтобы форма, в случае отсутствия "рамок", адекватно реагировала на "жесты":

- расположите на форме любой "контейнер" (TPanel например),

- задайте ему свойство Align = Contents,

- и установите HitTest = True.

- А все элементы расположите на "контейнере".

Ссылка на комментарий
  • 0

Думаю, что все должно завестись, но смогу проверить лишь на работе в понедельник. Как проверю-сразу отпишусь

К сожалению, жесты так и не завелись. Сделал все так, как Вы описали, но результат прежний-при отсутствии у формы рамки FireMonkey не обрабатывает жесты. По крайней мере на версии XE5

Ссылка на комментарий
  • 0

Увы, не работает. Каким баг был, таким и остался. Думаю, при каком то особенном стечении обстоятельств запустить жесты в полноэкранном режиме возможно, но из коробки они не работают уже на протяжении минимум трех версий студии.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...