Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-99634
KOT
2003-12-15 22:59
2003.12.30
Как задать проверку на день недели?


1-99555
WG
2003-12-17 18:13
2003.12.30
Как записать данные в конкретный лист Excel-файла ?


8-99658
off
2003-08-29 09:19
2003.12.30
Как определить длинну трека?


1-99605
Alex_x
2003-12-17 12:20
2003.12.30
Принтера


1-99577
not The Vizit0r!
2003-12-17 17:17
2003.12.30
как удалить файл




   Наверх