Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 17:16   #1
Simon..14
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 44
По умолчанию Изменение размера формы по размеру екрана

подскажите как можно сдклать чтоб размер формы менялся в зависимости от розмеров монитора
Например если прогамма писалась на компютере с 17 дуймовым екраном а потом при запуске на 15 дуймовом розмер формы подогнался под 15 дуймовый мониторЗарание спасибо
Simon..14 вне форума Ответить с цитированием
Старый 05.06.2009, 17:23   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Может, вы, все-таки, имеете в виду расширение экрана?

Код:
Form1->Width = Screen->Width;
Form1->Height = Screen->Height;
Вообще расширение так можно получить (на апи):
Код:
HDC scr = GetDC(NULL);
int w = GetDeviceCaps(scr,HORZRES);  // по горизонтали
int h = GetDeviceCaps(scr,VERTRES);  // по вертикали
ReleaseDC(NULL,scr);
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 05.06.2009 в 17:31.
Sazary вне форума Ответить с цитированием
Старый 05.06.2009, 18:12   #3
Simon..14
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 44
По умолчанию

Я имел виду что после создания проетка на 17 дюймовом мониторе он открылся на 15 с сохранением пропорций относительно екрана
Simon..14 вне форума Ответить с цитированием
Старый 05.06.2009, 18:16   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну тогда вам не диагональ нужна, а именно расширение. Как его получить смотрите выше.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.06.2009, 18:56   #5
Simon..14
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Sazary Посмотреть сообщение
Код:
Form1->Width = Screen->Width;
Form1->Height = Screen->Height;
если я правильно понял то етим мы сделаем размер формы равным розширению екрана
хотя возможно я вас не понял
у меня есть 2 формы на одной из них одна большаяы картинка и много маленьких мне нужно чтоб при запуске на компютере с маленьким розрешением екрана все мои рисунки и формы уменьшелись под розширение данного екрана а не обрезалисьи не сдвигались
Simon..14 вне форума Ответить с цитированием
Старый 05.06.2009, 19:11   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
если я правильно понял то етим мы сделаем размер формы равным розширению екрана
Да. Это я для примера привел.

Тогда узнавайте расширение и позиционируйте формы используя эти значения.
Например, чтобы иметь сдвиг в 20%, пишете так:
Код:
Form1->Left = Screen->Width*0.2;
Ну и сами размеры тоже также.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.06.2009, 20:48   #7
Simon..14
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 44
По умолчанию

хорошо пасиб будем пробовать
Simon..14 вне форума Ответить с цитированием
Старый 09.06.2009, 20:57   #8
Simon..14
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 44
По умолчанию

Код:
Clava->Proportional=true ;
Clava->Stretch =true ;
for(int i=1;i<=66;i++)
{((TImage*)FindComponent("Image"+IntToStr(i)))->Stretch=true ;
((TImage*)FindComponent("Image"+IntToStr(i)))->AutoSize=false ; }
 l= Screen->Width+200;
 k =Screen->Height+400;
 Form6->ScaleBy(k, l);
Сделал так при измененении розмера формы компоненты уменьшаються но при изменении розширения форма не уменьшаеться
в чем ошибка подскажите
Simon..14 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Качественное изменение размера изображения... Dr. MefistO Мультимедиа в Delphi 5 15.07.2009 17:22
Как запретить Изменение размера формы girz Общие вопросы Delphi 5 31.05.2009 10:29
Изменение размера окна Anfall Общие вопросы Delphi 5 14.03.2009 10:06
Изменение размера шрифта Nando Microsoft Office Excel 4 07.03.2009 16:45
Изменение размера картинки Борис Низов PHP 6 09.12.2007 16:26