Главная страница
    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.048 c
2-1171181909
Alex7
2007-02-11 11:18
2007.03.04
Как использовать PickList колнки DBGrid для ввода данных выбором


11-1149004549
parovoZZ
2006-05-30 19:55
2007.03.04
Стоит ли ставить сабж


2-1171534061
Trible
2007-02-15 13:07
2007.03.04
Посылать сообщения приложению


15-1170662964
Kerk
2007-02-05 11:09
2007.03.04
Делегирование домена


15-1171001483
vajo
2007-02-09 09:11
2007.03.04
Подскажите хороший файлообменник.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский