Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
 Аватар для Fermion
17 / 17 / 3
Регистрация: 05.10.2009
Сообщений: 172

Масштаб формы

28.04.2010, 19:58. Показов 4935. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сделал программку. Всё вроде работает - обрадовался. Запустил на другом компе - а там... разрешение экрана меньше стоит. И усё.... хана... форма в экран не помещается нифига.

Можно конечно создать её на маленьком разрешении, но тогда на большом смотреться не будет. А она что, никак не масштабируется автоматически?

А как это сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2010, 19:58
Ответы с готовыми решениями:

Масштаб компонента
У меня есть Image в Picter которого находиться файл формата ico (это мой вариант сделать картинку с прозрачным фоном, потому как любой JPG...

Печать изображения (масштаб)
Всем доброго времени суток. Нужно распечатать Image на принтере, при таком варианте: TPrintDialog *printDialog = new TPrintDialog(this); ...

Узнать масштаб установленный в Windows
Как программно (в момент исполнения программы) узнать, какой в данный момент времени стоит масштаб в Windows? (Речь идет о том масштабе...

14
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
28.04.2010, 20:19
За это отвечают некоторые свойства формы. Но все зависит от того, что у вас за форма. Компоненты она сама не будет передвигать и увеличивать их размер. Если можно, то покажите скрин формы.
Заранее скажу, что придется прописывать все вручную...
0
37 / 37 / 5
Регистрация: 12.02.2010
Сообщений: 239
28.04.2010, 20:49
Тоже такой вопрос возник, программирую на ноутбуке с маленьким разрешением, а вот как сделать нормальное разрешение на нормальный камп не знаю!!! Жду ответа с нетерпением!!!
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
28.04.2010, 20:53
Ответ тот же самый. Что за форма?

Добавлено через 41 секунду
Задание параметров для Anchors
0
 Аватар для Fermion
17 / 17 / 3
Регистрация: 05.10.2009
Сообщений: 172
28.04.2010, 21:13  [ТС]
Цитата Сообщение от Ni'Tan Посмотреть сообщение
Если можно, то покажите скрин формы.
Да обычная, какую C++ Builder создает по умолчанию.



Цитата Сообщение от Ni'Tan Посмотреть сообщение
Компоненты она сама не будет передвигать и увеличивать их размер.
Да пусть не передвигает, главное чтобы они смотрелись примерно в одном месте при разных разрешениях.
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
28.04.2010, 21:21
Так проблема в "в экран не помещается нифига" или "чтобы они смотрелись примерно в одном месте при разных разрешениях".

Во втором виновато не разрешение а т.н. "масштабный коэффициент" (количество точек на дюйм) - стандартный 96 т/д. - меняется в свойствах экрана.
Чтобы он не влиял нужно отключить Scaled у формы (и возможно ещё ParentFont).
0
Тутошний я
 Аватар для Grey
2147 / 1202 / 225
Регистрация: 03.11.2009
Сообщений: 4,424
Записей в блоге: 2
28.04.2010, 21:26
Как то так для всех компонентов и шрифтов.
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::FormCreate(TObject *Sender)
{
int h=Screen->Height;\\разрешение экрана где открываете
int w=Screen->Width;
int x=1024,y=768;    \\разрешение экрана где создавалась
Form1->Top=(100*h)/y; \\ 100 при у=768
Form1->Left=(100*w)/x;
Form1->Height=(900*h)/y;\\ 900 при х=1024
Form1->Width=(900*w)/x;
}
1
 Аватар для Fermion
17 / 17 / 3
Регистрация: 05.10.2009
Сообщений: 172
28.04.2010, 21:27  [ТС]
Цитата Сообщение от Roma_F Посмотреть сообщение
Так проблема в "в экран не помещается нифига" или "чтобы они смотрелись примерно в одном месте при разных разрешениях".
Проблема в том, чтобы у конечного пользователя (вне зависимости от того какое у него стоит разрешение экрана) форма открывалась на весь экран. И при этом помещалась в экран без всяких там полос прокруток.
0
Тутошний я
 Аватар для Grey
2147 / 1202 / 225
Регистрация: 03.11.2009
Сообщений: 4,424
Записей в блоге: 2
28.04.2010, 21:31
форма открывалась на весь экран.
C++
1
2
Form1->Height=Screen->Height;
Form1->Width=Screen->Width;
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
28.04.2010, 21:38
пересчитывать координаты кнопок и их размеры для разных размеров формы - ничего сложного
завести массив для кнопок и массив для надписей и в OnResize пересчитывать
0
 Аватар для [XandeR]
31 / 31 / 3
Регистрация: 18.03.2009
Сообщений: 381
Записей в блоге: 2
28.04.2010, 23:52
Цитата Сообщение от Roma_F Посмотреть сообщение
пересчитывать координаты кнопок и их размеры для разных размеров формы - ничего сложного
завести массив для кнопок и массив для надписей и в OnResize пересчитывать
ну да, ничего сложного, особенно когда на форме более 80ти компонентов
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
29.04.2010, 00:14
Цитата Сообщение от XandeR
ну да, ничего сложного, особенно когда на форме более 80ти компонентов
да ну
смотри 5-е сообщение на первой странице
0
 Аватар для Fermion
17 / 17 / 3
Регистрация: 05.10.2009
Сообщений: 172
29.04.2010, 19:43  [ТС]
Цитата Сообщение от Grey Посмотреть сообщение
Как то так для всех компонентов и шрифтов.
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::FormCreate(TObject *Sender)
{
int h=Screen->Height;\\разрешение экрана где открываете
int w=Screen->Width;
int x=1024,y=768;    \\разрешение экрана где создавалась
Form1->Top=(100*h)/y; \\ 100 при у=768
Form1->Left=(100*w)/x;
Form1->Height=(900*h)/y;\\ 900 при х=1024
Form1->Width=(900*w)/x;
}
Да... так все стало отлично. Правда пришлось вручную прописывать для каждого компонента.
0
 Аватар для [XandeR]
31 / 31 / 3
Регистрация: 18.03.2009
Сообщений: 381
Записей в блоге: 2
29.04.2010, 23:48
Цитата Сообщение от Roma_F Посмотреть сообщение
да ну
смотри 5-е сообщение на первой странице
ну это просто частный случай а программист должен разрабатывать универсальные идеи...
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
30.04.2010, 00:10
Цитата Сообщение от [XandeR
;695348]программист должен разрабатывать универсальные идеи...

Не по теме:

не спорю :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.04.2010, 00:10
Помогаю со студенческими работами здесь

Система координат и масштаб в TImage, TPictureBox.
Заранее извиняюсь, если этот вопрос уже поднимался... Просто я весь инет обрыл, но нигде ничего путного не нашел. Как известно, система...

Прозрачность формы, при наведении мыши на кнопку реализовать изменение её положения относительно формы с невозможностью выхода за границы формы
доброй ночи, уважаемые программисты, студенты,а также любители программировать. помогите, пожалуйста, написать программу на языке С++ ...

Как изменять масштаб графика, отрисованного на компоненте Image, с помощью мыши?
скажите пожалуйста как можно изменять масштаб графика находящийся на компоненте image с помощью мыши, нужно срочно

Масштаб формы
Всем привет. Написал простенькое приложение, всё работает, но есть небольшое НО. На форме расположено несколько элементов и при...

Масштаб формы и диалоги
Здрасте, уважаемые професионалы, подскажите пжл как в можно в меню сделать следующее, например у меня есть пункт масштаб, в нем сабменю:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru