С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294

Размер формы и компонентов, а также их размеры и положение при развернутом состоянии во всех размерах экранов

11.04.2013, 15:03. Показов 4469. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Размер формы и компонентов также их размеры и положение при развернутом состоянии во всех размера экранов.

Вот я еще не решил ничего со своей формой и с компонентами.
Мне вот необходимо размер и положение компонентов.
Программное окно минимальна 600х800.
Компоненты привязал свойствам Anchers. Проблем нет.
И вот при развертывании окна компоненты мелкие, и некоторые скрыты под другими компонентами, т.е. на заднем плане расположились.
И вот надо решить с размерами и положениями компонентов для разных разрешения экранов.
От 600х800 ..... до 1920х1080.
Рабочая область моя 1920х1080.
Наверное надо как-то с условиями это записать.
Если мы находимся на разрешении экрана 1920х1080, а окно программы 800х600. М Разворачиваем это окно и все ок должно быть с размерами и положениями.
Если 1600х900 .... и т.д.

Как это программно написать в окно кодировании?
Миниатюры
Размер формы и компонентов, а также их размеры и положение при развернутом состоянии во всех размерах экранов   Размер формы и компонентов, а также их размеры и положение при развернутом состоянии во всех размерах экранов   Размер формы и компонентов, а также их размеры и положение при развернутом состоянии во всех размерах экранов  

Размер формы и компонентов, а также их размеры и положение при развернутом состоянии во всех размерах экранов  
Вложения
Тип файла: rar Kinoteatr.rar (3.18 Мб, 5 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2013, 15:03
Ответы с готовыми решениями:

Swing. Кнопки в окошке видны только при развернутом состоянии
подскажите в чем проблема, плз... создаю окошко, в нем кнопки(да и вообще что-нибудь), но они становятся видны только когда это самое...

Изменять размер и положение объектов при изменении размеров формы
Суть задачи. Сделать так чтобы размер и положение объектов менялся соответственно размерам формы, при изменении ее размеров. Реализовал это...

В заголовке формы нужно выводить положение формы на экране и ее размеры
Здравствуйте, Нужна помощь. Имеется задача: 1) в заголовке формы нужно выводить положение формы на экране и ее размеры 2) по...

12
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
11.04.2013, 22:59  [ТС]
Надо решить вопрос с окном и его компонентами.
Как записать код? Надо же на событие формы onResize записать? Или гдето еще?
Наверное так по началу ?:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DEVMODE dm;
dm.dmSize = sizeof(DEVMODE);
int index = 0;
while (EnumDisplaySettings(NULL, index, &dm))
{
 if (dm.dmPelsWidth == 1980 && dm.dmPelsHeight == 1080) //Типа если размер экрана 1980х1080. Дальше надо как-то.. то при разворачивании окна программы(Программа 800х600) Компоненты задаются по размерам и положениям.
 {
 
}
...
else if (dm.dmPelsWidth == 1600 && dm.dmPelsHeight == 900)
{
 
}
else if (dm.dmPelsWidth == 1280 && dm.dmPelsHeight == 900)
{
 
 
//Как дальше? Или как по другому?
Добавлено через 5 часов 11 минут
......

Добавлено через 4 минуты
Для размера используется у компонентов Width и Height
Для позиции Left и Top.
Так как и куда это записать?

Добавлено через 17 минут
Эту строчку взял о сюда
C++
1
2
3
4
5
6
7
DEVMODE dm;
dm.dmSize = sizeof(DEVMODE);
int index = 0;
while (EnumDisplaySettings(NULL, index, &dm))
{
 if (dm.dmPelsWidth == 800 && dm.dmPelsHeight == 600)
 {
Добавлено через 40 секунд
Похоже в мою программу надо вставлять...
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
11.04.2013, 23:40
Evgeny92, а в чем проблема то?- ставишь свой код при запуске программы(FormCreate к примеру), и растягиваешь компоненты...вот и всё

ток что то виснет с этим кодом всё)
Ща новый придумаю

Вот по быстрому "тебе придумал"
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::FormShow(TObject *Sender)
{
 int screenW=GetSystemMetrics(SM_CXSCREEN);//Ïîëó÷èòü øèðèíó ýêðàíà
 int screenH=GetSystemMetrics(SM_CYSCREEN);//Ïîëó÷èòü âûñîòó ýêðàíà
   if (screenW==1280 && screenH==1024)
   {
       Button1->Width=150;
       }
   }
//---------------------------------------------------------------------------
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.04.2013, 23:44
Цитата Сообщение от Ddv122 Посмотреть сообщение
int screenW=GetSystemMetrics(SM_CXSCREEN);//Получить ширину экрана
А через
C++
1
Screen->Width
?
2
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
11.04.2013, 23:46
Можно и так, ещё проще
C++
1
2
3
4
5
6
7
void __fastcall TForm1::FormShow(TObject *Sender)
{
   if (Screen->Width==1280 && Screen->Height==1024)
   {
       Button1->Width=150;
       }
   }
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.04.2013, 23:55
Можно еще использовать метод
C++
1
Button1->ScaleBy(2,1);// Увеличить размер кнопки в 2/1 ( в два раза)
1
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
12.04.2013, 00:09  [ТС]
Это же при разворачивании формы на весь компоненты будут увеличиваться?
Размер 800х600 на всех экранах должно быть.

Ну сейчас пробую.
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
12.04.2013, 00:20
Женек,
При запуске программы, будет идти проверка, на разрешение экрана, и если разрешение равно 1280x1024 то у кнопки Button1 будет увеличен размер...
1
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
12.04.2013, 00:36  [ТС]
Ну да это при запуске увеличивается при обычном состоянии окна. Развернул-Восстановил форму кнопка не меняется.Нужно как-то возвращать размеры компонентов если окно восстановил..

Вот например я запускаю свою программу на 800х600. Ну запустил, надо мне в правом верхнем углу нажать развернуть, развернул на весь экран, компоненты мелкие... Надо увеличивать при разворачивании, при востановлении вернуться в исходное...
Разве на скринах должно быть так?
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
12.04.2013, 00:52
Цитата Сообщение от Evgeny92 Посмотреть сообщение
развернуть, развернул на весь экран, компоненты мелкие...
Якоря нужно ставить....
Object Inspector-> Anchors . для каждого компонента....

Добавлено через 5 минут

Не по теме:

а вообще зря ты это всё, дело долгое, а на защите диплома будет 1 ноутбук со стандартным разрешением, просто подстрой под его и всё)

1
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
12.04.2013, 01:10  [ТС]
Может быть... Просто тогда кусачи показывали ребята, в том году, на проектор поставили, там както под самым маленьким разрешением получилось.. Программы были слишком большие, кнопки за пределы экрана. Хотя хз... (Как не по теме поставить?)

Якоря поставлены.

Добавлено через 8 минут
Ладно,
Не дам никому разворачивать окна.
Если не получается...
0
12.04.2013, 01:16

Не по теме:

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

1
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
12.04.2013, 01:31  [ТС]
А вообще нашол что надо себе
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void __fastcall TForm1::FormResize(TObject *Sender)
{
if (Screen->Width==1920 && Screen->Height==1080 && Form1->Width==800 & Form1->Height==600)
   {
      Button1->Width=100; //Маленькое окно
       Button1->Height=50;
       Button2->Width=100;
       Button2->Height=50;
       Button2->Left=112;
       } else
       {
        Button1->Width=250; //Развернутое.
       Button1->Height=200;
       Button2->Width=250;
       Button2->Height=200;
       Button2->Left=200;
 
 
       }
 
}
Добавлено через 11 минут
+ думай на счет парсинга трейлеров...
Ты про Флеш плеер на форму? Пока не знаю как сделать. Не знаю что искать в гугле. Что за тема?

Ссылки Интернетовские стоят. При защите интернет будет нужет. Наверное будет доступ. (Где тег не по теме?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.04.2013, 01:31
Помогаю со студенческими работами здесь

Открыть Opera в развернутом состоянии
Здравствуйте, открываю скриптом Oper'у: Dim Opera_Explorer As Variant Opera_Explorer = Shell(PathName:= _ ...

Закрепить размеры и положение разделенной формы
Добрый день. Столкнулся с проблемой: положение разделенной формы почему-то не фиксируется. Т.е. при ее вызове она выскакивает где попало, а...

Запомнить положение и размеры всех конролов на форме
Собственно есть базовый класс SettProg, который содержит список состоящий из одинаковых экземпляров класса ContrInfo, который содержит...

При изменении размеров формы изменять размеры всех объектов, расположенных на ней
Столкнулся с такой ситуацией. Использую ResizeMode = "CanResizeWithGrip". Все в порядке, окошко функционирует так, как я хотел, но. Но...

Смещение всех компонентов при изменении размера рамки/формы
Хочу сделать так, чтобы когда меняю размер рамки все компоненты смещались. Если сделаю форму меньше или больше стандартного значения, то...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru