|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.03.2015, 07:47 | #1 |
Новичок
Джуниор
Регистрация: 27.03.2015
Сообщений: 1
|
Я сделал свою программу, но возникла проблема! На моем экране (4:3) программа отображается правильно:
А второй компьютере (родителей) с экраном 16:9 она отображается так: Еще добавлю, что разрешение моего монитора 1280x1024 А монитора, где отображается не правильно 1920x1080 Как сделать так, чтобы при изменении размера экрана программа не растягивалась? Последний раз редактировалось Stilet; 27.03.2015 в 10:01. |
27.03.2015, 13:13 | #2 |
Участник клуба
Регистрация: 05.11.2013
Сообщений: 1,601
|
1. В ранней стадии создания приложения решите для себя хотите ли вы позволить форме масштабироваться. Преимущество немасштабируемой формы в том, что ничего не меняется во время выполнения. В этом же заключается и недостаток (ваша форма может бать слишком маленькой или слишком большой в некоторых случаях).
2. Если вы не собираетесь делать форму масштабируемой, установите св-во Scaled=False и дальше не читайте. В противном случае Scaled=True. 3. Установите AutoScroll=False. AutoScroll = True означает не менять размер окна формы при выполнении что не очень хорошо выглядит, когда содержимое формы размер меняет. 4. Установите фонты в форме на TrueType фонты, например Arial. Если такого фонта не окажется на пользовательском компьютере, то Windows выберет альтернативный фонт из того же семейства. Этот фонт может не совпадать по размеру, что вызовет проблемы. 5. Установите св-во Position в любое значение, отличное от poDesigned. poDesigned оставляет форму там, где она была во время дизайна, и, например, при разрешении 1280x1024 форма окажется в левом верхнем углу и совершенно за экраном при 640x480. 6. Оставляйте по-крайней мере 4 точки между компонентами, чтобы при смене положения границы на одну позицию компоненты не "наезжали" друг на друга. Для однострочных меток (TLabel) с выравниванием alLeft или alRight установите AutoSize=True. Иначе AutoSize=False. 7. Убедитесь, что достаточно пустого места у TLabel для изменения ширины фонта - 25\% пустого места многовато, зато безопасно. При AutoSize=False Убедитесь, что ширина метки правильная, при AutoSize=True убедитесь, что есть ссвободное место для роста метки. 8. Для многострочных меток (word-wrapped labels), оставьте хотя бы одну пустую строку снизу. 9. Будьте осторожны при открытии проекта в среде Delphi при разных разрешениях. Свойство PixelsPerInch меняется при открытии формы. Лучше тестировать приложения при разных разрешениях, запуская готовый скомпилированный проект, а редактировать его при одном разрешении. Иначе это вызовет проблемы с размерами. 10. Не изменяйте свойство PixelsPerInch ! 11. В общем, нет необходимости тестировать приложение для каждого разрешения в отдельности, но стоит проверить его на 640x480 с маленькими и большими фонтами и на более высоком разрешении перед продажей. 12. Уделите пристальное внимание принципиально однострочным компонентам типа TDBLookupCombo. Многострочные компоненты всегда показывают только целые строки, а TEdit покажет урезанную снизу строку. Каждый компонент лучше сделать на несколько точек больше. ©Drkb::04528 Автор: Song |
31.03.2015, 16:37 | #3 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 60
|
Есть такая штука как Screen.Height и Screen.With. Я когда то делал так, перед запуском приложения проверял какое у пользователя разрешение экрана, а потом подгонял положение компонентов программы под него. Тоесь мы имеем 2-3 самых распространенных разрешений, например, 1024х768, 1280х1024. Естественно разрабатываем приложение на самом большом разрешении экрана. Потом проверяем, мол если Screen.With=1024 тогда Edit1.Left:=900, и так далее пока не переместим положение всех елементов формы. Если будут вопросы - в личку, попробую поподробнее обьяснить.
|
31.03.2015, 17:47 | #4 |
Участник клуба
Регистрация: 19.01.2009
Сообщений: 1,453
|
1) У каждого визуального компонента есть такая штука, как якоря (anchors) - они изменяют размер компонента, положение засися от размера формы.
2) Screen - узнать размер раб. стола, рабочей области и тп. 3) Выставлять свое разрешение экрана при запуске программы. 4) самый легкий - запретить изменение размера окна ) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подогнать сайт под размер экрана | Кротяка | HTML и CSS | 2 | 16.09.2013 09:19 |
Как позиционировать изображение под разрешение и размер экрана | Budun | WordPress и другие CMS | 1 | 05.04.2013 20:04 |
Масштабирование формы при изменение разрешения экрана | Gudzik11 | Общие вопросы Delphi | 2 | 06.03.2012 08:31 |
масштабирование содержимого экрана | skilful | Общие вопросы Delphi | 14 | 28.01.2011 06:10 |
Масштабирование изображения под размер таблицы | ARCHANG3L | HTML и CSS | 6 | 03.02.2009 23:23 |