powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Масштабирование формы
12 сообщений из 12, страница 1 из 1
Масштабирование формы
    #33578685
jons
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Есть ли у фокса возможность динамического масштабирования формы под разные разрешения монитора?
...
Рейтинг: 0 / 0
Масштабирование формы
    #33579096
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 9 версии FoxPro введено свойство Control.Anchor, которое позволяет автоматически масштабировать объекты при изменении размера формы.

Для младших версий FoxPro это придется делать вручную.

Однако по большому счету, в этом нет никакой необходимости.

Смысл изменения размера формы есть только в случае, если при этом на форме будет отображаться больше информации. Ну, например, не 2 столбца Grid, а 3.

Если же целью масштабирования является то, чтобы форма "выглядела одинаково" при разном разрешении экрана, то это не стоит усилий. Если для пользователя "мелко", пусть он сам и уменьшает разрешение.
...
Рейтинг: 0 / 0
Масштабирование формы
    #33579257
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ
Однако по большому счету, в этом нет никакой необходимости.

Смысл изменения размера формы есть только в случае, если при этом на форме будет отображаться больше информации. Ну, например, не 2 столбца Grid, а 3.

Не совсем согласен.
Я бы добавил бы еще сюда и объекты класса Editbox. Их тоже полезно менять в размерах в соответствии с изменениями размеров формы. Иногда я меняю и textbox, но только ширину.
Ну, а для GRID - это просто обязательно.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Масштабирование формы
    #33579491
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМЕсли же целью масштабирования является то, чтобы форма "выглядела одинаково" при разном разрешении экрана, то это не стоит усилий. Если для пользователя "мелко", пусть он сам и уменьшает разрешение.

C кинескопами - согласен. Какое удобно - такое и поставил.
А ты пробовал уменьшить разрешение, например до 800х600, на 15" панельке с родным 1024x768?
...
Рейтинг: 0 / 0
Масштабирование формы
    #33579529
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jonsЗдравствуйте.
Есть ли у фокса возможность динамического масштабирования формы под разные разрешения монитора?

Я делаю так из инита формы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
* Метод THISFORM.ResizeObject()
lpara toObj
* Изменение размеров и шрифта объектов формы
* Ориентируемся только по полностью развернотому окну программы
* Считаем, что разработка была под 800x600 со шрифтом  9 

* gnDefaultFontSize - глоб.переменная с размером шрифта

local lnK,loC
if type('gnDefaultFontSize') = 'N'
	lnK = gnDefaultFontSize /  9 
else
	lnK = _screen.width /  800 
endif
if pemstatus(toObj, 'Top',  5 )
	with toObj
		.top = toObj.top * lnK
		.left = toObj.left * lnK
		.height = toObj.height * lnK
		.width = toObj.Width * lnK
	endwith
endif
if pemstatus(toObj, 'FontSize',  5 )
	toObj.FontSize = round(toObj.FontSize * lnK,  0 )
endif
do case
	case pemstatus(toObj, 'Controls',  5 )
		for each loC in toObj.Controls
			this.ResizeObject(loC)
		endfor
	case pemstatus(toObj, 'Pages',  5 )
		for each loC in toObj.pages
			this.ResizeObject(loC)
		endfor
	case pemstatus(toObj, 'Buttons',  5 )
		for each loC in toObj.Buttons
			this.ResizeObject(loC)
		endfor
endcase
...
Рейтинг: 0 / 0
Масштабирование формы
    #33579938
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TC кинескопами - согласен. Какое удобно - такое и поставил.
А ты пробовал уменьшить разрешение, например до 800х600, на 15" панельке с родным 1024x768?
Встречный вопрос - если для тебя 1024х768 мелко, то ЗАЧЕМ ты вообще покупал такой монитор?

Стоит у пользователя? Хорошо, зачем ПОЛЬЗОВАТЕЛЬ купил себе такой монитор?

Специально, чтобы было чем заняться, масштабируя КАЖДОЕ приложение? Ведь "мелко" будет не только с твоим приложением, но и вообще с любым другим приложением!

Если программа должна выглядеть, как при разрешении 800х600, то и установи себе разрешение 800х600 и монитор, который поддерживает такое разрешение! Если это требование пользователя, пожалуйста, сделаю, но за дополнительные деньги.

Еще раз, смысл изменения размера формы, может быть только в случае если это приведет к изменению объема инфомации отображаемой на форме одномоментно. Без прокрутки формы.

Все остальное - это баловство. Сделать можно, но за очень дополнительные деньги. Вопрос не в сложности, а в бессмысленности. А бессмысленная работа должна оплачиваться дороже!
...
Рейтинг: 0 / 0
Масштабирование формы
    #33580182
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМВстречный вопрос - если для тебя 1024х768 мелко, то ЗАЧЕМ ты вообще покупал такой монитор?
Стоит у пользователя? Хорошо, зачем ПОЛЬЗОВАТЕЛЬ купил себе такой монитор?

А вот так: плоский монитор - круто - мало места занимает - хочу !!!
По крайней мере мои некоторые клиенты. А потом - что-то как-то мелко все в вашей проге.
ВладимирМ
Специально, чтобы было чем заняться, масштабируя КАЖДОЕ приложение? Ведь "мелко" будет не только с твоим приложением, но и вообще с любым другим приложением!

У меня 1280 x 800 - вообще-то все проги, которые я пользую поддерживают настройку размера шрифта.
А насчет каждое приложение - вышеприведенный метод зашит в класс формы. И даже ничего прописывать не приходится. Кроме некоторых навороченных форм - где немного в Resize() приходится дописать.
ВладимирМ
Если программа должна выглядеть, как при разрешении 800х600, то и установи себе разрешение 800х600 и монитор, который поддерживает такое разрешение! Если это требование пользователя, пожалуйста, сделаю, но за дополнительные деньги.

Еще раз, смысл изменения размера формы, может быть только в случае если это приведет к изменению объема инфомации отображаемой на форме одномоментно. Без прокрутки формы.

Все остальное - это баловство. Сделать можно, но за очень дополнительные деньги. Вопрос не в сложности, а в бессмысленности. А бессмысленная работа должна оплачиваться дороже!

А кто сказал что за бесплатно? :)
...
Рейтинг: 0 / 0
Масштабирование формы
    #33580255
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на моем рабочем 1280*1024
(могу и 2048*1536)

все масштабируется
все бесплатно
думаю и 5000*5000 прокатит

(но только не так как в НДФЛ2005
мы тут такой хохот устроили - масштабирование для слепых)
...
Рейтинг: 0 / 0
Масштабирование формы
    #33580463
Stind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex11100на моем рабочем 1280*1024
(могу и 2048*1536)

все масштабируется
все бесплатно
думаю и 5000*5000 прокатит

(но только не так как в НДФЛ2005
мы тут такой хохот устроили - масштабирование для слепых)


А в обратку? У меня разработка приложения на формах стоит 1280Х1024. Это удобно, т.к. с моей программой используется электронный каталог, требующий именно этого разрешения (бывают и такие!). Так вот, все всех устраивает. Но. Включает свой компьютер бухгалтер, у которого нет этого каталога, и который ему на фиг не стоял... А бухгалтер хочет 800Х600! Вот так ему заело. И как быть?
...
Рейтинг: 0 / 0
Масштабирование формы
    #33580594
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StindА в обратку? У меня разработка приложения на формах стоит 1280Х1024. Это удобно, т.к. с моей программой используется электронный каталог, требующий именно этого разрешения (бывают и такие!). Так вот, все всех устраивает. Но. Включает свой компьютер бухгалтер, у которого нет этого каталога, и который ему на фиг не стоял... А бухгалтер хочет 800Х600! Вот так ему заело. И как быть?

Также. Только пропорционально уменьшать размеры. Правда если 1280Х1024 - 17" а 800Х600 - 15", то в экран то влезет, но мелковато будет.
...
Рейтинг: 0 / 0
Масштабирование формы
    #33581126
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в обратку

моник разработчика и его понятия не имеют отношения к
юзеру

всегда у программеров, которые работают
не с лисой первое впечатление от интерфейса

понятно, что большинство строгают ...
ну уже давно нужно прийти к выводу, что
приложения должны быть культурные и красивые

я думаю любой разработчик на Делфи
будет долго смеяться от того, что
Вы ему скажете, что масштабирование стоит дополнительных денег
посмотрите на ВЕБ страницы

делаем изначально 299*497 размер форм
остальное - проблема юзера
...
Рейтинг: 0 / 0
Масштабирование формы
    #33582652
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi alex11100!

Ну это ты зря...
Ну например я видел массу приложений собранных в борландовских средах, и
имеющих просто отвратительное масштабирование - начиная от того что
размер/тип шрифта у разрабочтика отличался от моего (например в другой ОС
компилировалось, или экзотический шрифт, который мапится на моей системе
совсем в другой по размерам буковок) и его надписи банально не влазят в
отведённое место... Видел (хотя и заметно реже) и так любимое некоторыми
"пропорциональное масштабирование" - это когда формочка с парой текстбоксов
разворачивается на большом экране и мы наблюдаем аршинные буквы...

В общем проблема очень не проста!
1) В винде есть несколько настроек:
- DPI - когда просто любой шрифт в любой программе (и в фоксе тоже!) в
пикселях становится больше/меньше при этом оставаясь тем же самым Arial
10... Т.е. "по правильному" надо запрашивать данную настройку и в
соответствии с ней слегка менять Layout контролов (ну или заранее
позаботится, чтобы хотя-бы при стандартном "крупном" 120DPI надписи целиком
помещались).
- "Темы" - когда просто для самой винды (и системных диалогов!) выставляются
разные шрифтовые настройки - в принципе их можно извлечь и использовать в
своих программах - это тоже требует изменения Layout-а - причём очень и
очень нетривиального - простых якорей тут никак не хватит - ни фоксовых ни
тех что в других средах есть.
2) Можно сделать аналог "тем" - т.е. явные шрифтовые настройки - внутри
самой программы.
3) Собственно реакция на Resize форм - тут как раз якоря это самое то - т.е.
"раздвижка" контролов БЕЗ изменения шрифтов - есть много моментов - начиная
от того что много типичных форм-диалогов просто бессмысленно "раздвигать"
(ну будет поле для ввода 5-6 символов иметь ширину во весь экран - пользы от
этого минимум).
4) "Авторазворачнивание" форм для разных разрешений - вообще ужас - это
мания величия разработчика - т.е. он исходит из того, что кроме как его
программой на компьютере больше никто ничем пользоваться не может и не
должен. Пользователь должен иметь фозможность как развернять окно приложения
на весь экран (но вовсе не обязательно что все формы должны тоже
разворачиваться!!!), так и свернуть его в какой-то небольшой участок -
скажем на четверть/половину экрана.

> посмотрите на ВЕБ страницы

Сколько я уж этого добра видел... Жутко, криво, убого - очень и очень редко
web интерфейс вызывает положительные эмоции - чаще это дурацкие прокрутки по
горизонтали (и главное что отменить это обычно никак нельзя - даже если я
согласен чтобы кое где было много лишних переводов строк), или наоборот -
подгонка таблиц под ширину окна - т.е. излишне много "узких" колонок... А уж
чтобы где была удобная настройка ширины колонок и высоты строк таблиц - так
это редчайшие исключения...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Масштабирование формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]