Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.30;
Скачать: CL | DM;

Вниз

Возможно ли при работе программы изменить ее интерфейс   Найти похожие ветки 

 
Vitaliygavrilov   (2003-12-17 10:55) [0]

Здравствуйте!
Скажите пожалуйста возможно ли изменение программы ее интерфейса с разрешения 1024х800 на 800х640. Причем при ее работе.
Заранее спасибо Гаврилов В.А.


 
alex_***   (2003-12-17 11:02) [1]

Как понять изменить интерфейс? Размеры формы и расположение контролов?


 
TUser ©   (2003-12-17 11:04) [2]

Почему бы и нет. Переделываешь Top, Left, Width и Height для всех визуальных компонентов.


 
Babay ©   (2003-12-17 11:04) [3]

Да..
Правильные алигны для элементов
и свойства форм width, Height ну возможно еще Left, Top.

Прога следит за разрешением экрана и перестраивает размеры форм при необходимости.


 
Babay ©   (2003-12-17 11:05) [4]

:=)))# ГЫ-ГЫ !! всем.


 
alex_***   (2003-12-17 11:06) [5]

гемора много.. легче зашиться на 800х600 и горя не знать


 
Alex_K   (2003-12-17 12:05) [6]

вот такой модуль - писал не я - нашёл в инете
после создания формы (в конце NewFormCreate) выполнить
ScaleForm(NewForm)
ну естественно правильно расставить свойства компонентов на форме
Scaled в True, FullRepaint в True

unit scale;

interface

uses
Forms, WinTypes, WinProcs, SysUtils;

procedure ScaleForm(Sender: TObject);

implementation

procedure ScaleForm(Sender: TObject);
const
{измените это так, чтобы это соответствовало режиму разрешения во время разработки}
DesignScrY: LongInt = 768;
DesignScrX: LongInt = 1024;
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 вся ветка

Текущий архив: 2003.12.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-99642
Evgeniy_K
2003-12-13 17:53
2003.12.30
Форма границы, которой совпадают с границами Image


14-99719
Delphi5.01
2003-12-08 21:18
2003.12.30
Kak vozmojno izmenit personalnuiu informaciu na saite?


1-99636
Новенький
2003-12-16 21:45
2003.12.30
Закрыть форму до открытия...


6-99677
Bless
2003-10-30 16:58
2003.12.30
Как закрыть порт?


6-99672
Melcor
2003-10-31 14:54
2003.12.30
Как отправлять пакеты по сети?