Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Динамическое изменение размера формы в зависимости от разрешения экрана
|
|||
|---|---|---|---|
|
#18+
Привет всем! Господа, подскажите какой-нить способ сделать следующую весчь: надо так спроектировать форму(ы), чтобы в зависимости от разрешения экрана пользователя она (форма) и все расположенные на ней элементы изменяли свой размер. Знаю про FormStorage из Rx - это поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 08:45 |
|
||
|
Динамическое изменение размера формы в зависимости от разрешения экрана
|
|||
|---|---|---|---|
|
#18+
про FormStorage - не знаю, но можно попробовать так. Задаете некий список, где перечисляете все контролы, принадлежащие форме (конечно, только видимые :-). Потом в рантайме считываете разрешение экрана (делается это, кажется, через TScreen.Height, TScreen.Width - не помню, щас нет времени рыться в справке. Или может быть Canvas??? в общем, поройтесь). И задаете, что ваша форма должна занимать такую-то часть экрана в долях, например, 0,3 по высоте и 0,5 по ширине. Вот. Получили коэффициент масштабирования. Потом идем по списку, где перечислены имена видимых контролов формы, и через TForm.FindChildControl(СтрокаСписка) изменяем их heigth и width на этот масштабный коэффициент. То же надо будет проделать с расположением - свойства top и left. Удачи. Если получится - выложите сюда, пожалуйста. Одно время сама хотела такое сделать, но как-то всё руки не доходили :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 09:20 |
|
||
|
Динамическое изменение размера формы в зависимости от разрешения экрана
|
|||
|---|---|---|---|
|
#18+
Благодарствую, pima, буду пробовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 09:40 |
|
||
|
Динамическое изменение размера формы в зависимости от разрешения экрана
|
|||
|---|---|---|---|
|
#18+
а ScaleBy уже отменили? ;-) Код: plaintext 1. 2. 3. 4. Если разрабатывалось при нормальном размере шрифтов и разрешении 800 на 600 точек. Вроде так работало раньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 12:40 |
|
||
|
Динамическое изменение размера формы в зависимости от разрешения экрана
|
|||
|---|---|---|---|
|
#18+
Ну да. Только сама форма не меняет свои размеры. А вот так попробовал, -- легко получается. Только гриды не знают, как себя изменять в этой ситуации... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 12:51 |
|
||
|
Динамическое изменение размера формы в зависимости от разрешения экрана
|
|||
|---|---|---|---|
|
#18+
pima, а может, ну ее, такую сложность :) Я тут с FormStorage поковырялся чуток - все ОК, получается. А всего-то: вешаешь его (FormStorage) на форму, потом на нем даблклик, выбираешь компонент и его свойства, кот. хочешь зафиксировать, в свойстве IniFileName - название ini-шника, запускаешь - в c:\windows появляется этот ini-шник. И так на все разрешения, какие захочешь. А на FormCreate вешаешь элементарную проверочку, что-то типа Код: plaintext 1. 2. 3. 4. 5. 6. и все... Конечно, минус - необходимо для каждого разрешения перепроектировать все формы проекта, и если проект здоровый и форм много, то.... 2Lichkin Dmitry и гриды нормально изменяются.... Удачи. Если у кого есть другие соображения - пишите... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2002, 10:08 |
|
||
|
Динамическое изменение размера формы в зависимости от разрешения экрана
|
|||
|---|---|---|---|
|
#18+
действительно, проще на порядок. А то я подумала - моим способом получается вообще жуткая вещь, список должен быть древовидным, т. к. компоненты на форме - не только братья, а внуки-правнуки и т. д., и надо всё это хозяйство обрабатывать в иерархическом порядке. действительно, ну нафиг ....... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2002, 12:53 |
|
||
|
Динамическое изменение размера формы в зависимости от разрешения экрана
|
|||
|---|---|---|---|
|
#18+
Предлагаю делать формы по возможности маленькими, а пользователя научить всё подстраивать под себя, а после этого уже пригодится FormStorage ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2002, 03:27 |
|
||
|
Динамическое изменение размера формы в зависимости от разрешения экрана
|
|||
|---|---|---|---|
|
#18+
А свойство Anchors не устроит? просто накидываете форму в минимальном разрешении и выставляете якори на лево-право-верх-низ. Все само и растянется ... правда всякие там шрифты придется все равно ручками менять ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2002, 07:22 |
|
||
|
Динамическое изменение размера формы в зависимости от разрешения экрана
|
|||
|---|---|---|---|
|
#18+
2just4fun на мой взгляд, не каждого пользователя научишь (по крайней мере, быстро...) А чем меньше пользователь выходит за рамки понятного ему, тем лучше... 2Trong правда всякие там шрифты придется все равно ручками менять ... дык в этом и дело, хочется, чтоб "все сразу и навсегда" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2002, 08:28 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=2081&tid=2119776]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 274ms |
| total: | 392ms |

| 0 / 0 |
