Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];

Вниз

Смена разрешения Экрана!   Найти похожие ветки 

 
Golikov ©   (2007-02-10 17:32) [0]

Здрасте! подскажите кто знает!
если я запускаю свою програму при разрешении экрана 1280*1024(при котором програма создавалась) усе нармуль,а если меняю например на 1024*768 то формочки то остаются такими как при разрешении 1280*1024 (т.е. большие получаются на весь экран).
какое свойство надо изменять у формы при смене разрешения?
а если на форме 10,20,..........N- объектов ? неужели надо будет менять каждый объект ?
ткните Носом!


 
Desdechado ©   (2007-02-10 17:35) [1]

> какое свойство надо изменять у формы при смене разрешения?
А что тебе надобно, старче?


 
golikov ©   (2007-02-10 17:38) [2]

чтоб форма и все компоненты на форме подстраивались по текущее разрешение!
как это реализовывается ?


 
golikov ©   (2007-02-10 18:00) [3]

????????????????


 
Desdechado ©   (2007-02-10 18:01) [4]

Т.е. кнопки увеличивались в размерах сами?
А если контрол неможет быть отмасштабирован?
А шрифтам куда деваться?


 
golikov ©   (2007-02-10 18:04) [5]

и какой тогда выход ?


 
vasIZmax ©   (2007-02-10 18:14) [6]


> golikov ©   (10.02.07 18:04) [5]

1. сделай форму 800*600 и фиксани размеры.
2. определяешь разрешение экрана. потом для каждой кнопки пусть читаются из файла ее параметры(положение, шрифт...).


 
golikov ©   (2007-02-10 18:21) [7]


> 1. сделай форму 800*600 и фиксани размеры.2. определяешь
> разрешение экрана. потом для каждой кнопки пусть читаются
> из файла ее параметры(положение, шрифт...).

а подробней плиз..............


 
Kolan ©   (2007-02-10 18:31) [8]

«[7] golikov ©   (10.02.07 18:21)

> 1. сделай форму 800*600 и фиксани размеры.2. определяешь

> разрешение экрана. потом для каждой кнопки пусть читаются

> из файла ее параметры(положение, шрифт&#133).

а подробней плиз&#133»


Успокойтесь, надо сделать «резиновый» интерфейс. Для этого нужно: Align, Anchors, TSeparator&#133


 
Kolan ©   (2007-02-10 18:32) [9]

Делается за 10 минут.


 
vasIZmax ©   (2007-02-10 18:34) [10]

по 1.
разрабатывай форму при разрешении 800*600. а потом бордерстайл=нон.
или как вариант с самого начала зафиксируй форму, и работай.
по 2. много писанины.
> надо будет менять каждый объект
. и записывай их в какой-нить файл. а потом в зависимости от определенного разрешения применяешь необходимые параметры для каждого объекта.
ЗЫ. но это чисто предположения начинающего. по поводу 2-го - я проект себе так делал. Заморочно, но выход.:)


 
golikov ©   (2007-02-10 18:35) [11]

Kolan
ну приведи пример!.


 
vasIZmax ©   (2007-02-10 18:39) [12]


> Kolan ©   (10.02.07 18:32) [9]

согласен. точнее не исключено.
но для этого надо ж знать

> Kolan ©   (10.02.07 18:31) [8]
> Align, Anchors, TSeparator…


ЗЫ. :)


 
Kolan ©   (2007-02-10 18:49) [13]

«ну приведи пример!.»

Пример:
Допустим у тебя есть форма а на ней РичЭдит.
Ты хочешь чтобы он был в верхней части формы и при растягивании растягивался по ширине вместе с формой. А по высоте остался такимже.

Значит выставляешь у рич Эдита св-ва Anchors: Left, Top, Right — True, Bottom — False;
Запускаешь — растягиваешь форму радуешься&#133


 
Kolan ©   (2007-02-10 18:51) [14]

Лично я при разработке обычно делаю доваольно маленькую форму, тк её удобно редактировать(Все видно). А так как она «резиновая» то какой разрешение у пользователя ессно все равно.


 
iXT ©   (2007-02-11 11:50) [15]


> Смена разрешения Экрана!

ИМХО
Это пользовательское право. Его трогать низя. А таких кто трогает, надо расстреливать.


> golikov ©   (10.02.07 18:35) [11]
> Kolan
> ну приведи пример!.

Ну какой пример? Возьми, набросай на форму всякой всячины, и поиграйся с вышеупомянутыми свойствами.


 
Alexdeil   (2007-02-11 16:35) [16]

Посмотрите этот модуль (Автор: Andrey Kozlov )

unit scale;
{Дополнение

Модуль, масштабирующий компоненты вне зависимости от разрешения экрана и ширины границ окон. Включите нижеследующий модуль в секцию uses каждого модуля и вызывайте ScaleForm в обработчике формы OnCreate, передавая в качестве параметра имя формы. Я надеюсь что помог тем, кто столкнулся с данной проблемой.
}

interface

uses
 Forms, WinTypes, WinProcs, SysUtils;

procedure ScaleForm(Sender: TObject);

implementation

procedure ScaleForm(Sender: TObject);

const

 {измените это так, чтобы это соответствовало
 режиму разрешения во время разработки - я разрабатывал мою форму в режиме 800x600.}

 DesignScrY: LongInt = 600;//480;
 DesignScrX: LongInt = 800;//640;
 DesignBorder: LongInt = 4; {значение в Панели Управления + 1}

var

 SystemScrY: LongInt;
 SystemScrX: LongInt;
 SystemBorder: LongInt;
 OldHeight: LongInt;
 OldWidth: LongInt;

begin

 SystemScrY := GetSystemMetrics(SM_CYSCREEN);
 SystemScrX := GetSystemMetrics(SM_CXSCREEN);
 SystemBorder := GetSystemMetrics(SM_CYFRAME);
 with Sender as TForm do
 begin
   Scaled := True;
   AutoScroll := False;
   Top := Top * SystemScrX div DesignScrX;
   Left := Left * SystemScrX div DesignScrX;
   OldHeight := Height + (DesignBorder - SystemBorder) * 2;
   OldWidth := Width + (DesignBorder - SystemBorder) * 2;
   ScaleBy((OldWidth * SystemScrX div DesignScrX - SystemBorder * 2),
     (OldWidth - DesignBorder * 2));
   {
   Для форм не имеющих границ измените предшествующие
   три строки следующим способом:

   OldHeight := Height;
   OldWidth  := Width;
   ScaleBy(SystemScrX, DesignScrX);
   }

   Height := OldHeight * SystemScrY div DesignScrY;
   Width := OldWidth * SystemScrX div DesignScrX;
 end;
end;

begin
end.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.044 c
2-1171532222
Шматко О.Н
2007-02-15 12:37
2007.03.04
Аттачмент в письме, с чем его едят ?


6-1158518347
yuorn4ik
2006-09-17 22:39
2007.03.04
Откл. Вкл. локальной сети


15-1170761971
stone
2007-02-06 14:39
2007.03.04
А был ли мальчик?


6-1159357327
SiJack
2006-09-27 15:42
2007.03.04
получить вложение из OutlokExpress если письмо подписано ЭЦП


2-1171271474
Proxytel
2007-02-12 12:11
2007.03.04
FTP клиент - исходник?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский