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

Вниз

Автоматическое изменение окна...   Найти похожие ветки 

 
Builder   (2004-01-24 07:37) [0]

Здравствуйте уважаемые мастера,

- может ли Delphi автоматически определять размеры монитора и разрешения
и автоматически изменять размеры окна;
заранее спасибо...

P.S. если можно, то подробнее (в литературе смотрел)


 
Matrex   (2004-01-24 08:39) [1]

Если я правильно понял то:

Function GetXScreen:Integer;
begin
result:=screen.width;
end;

Function GetYScreen:Integer;
begin
result:=screen.Height;
end;

Form.width:=GetXScreen;
Form.Height:=GetYScreen;


 
Оптимал   (2004-01-24 12:06) [2]

Лучше добавить еще:

function GetXScreenEx: integer;
begin
 Result := GetXScreen;
end;

function GetXScreenEx2: integer;
begin
 Result := GetXScreenEx;
end;

То же самое и с Y-координатой. Использовать надо, естественно, GetXScreenEx2. Так намного оптимальнее...


 
Оптимал   (2004-01-24 12:13) [3]

Да, вот еще: нужно в начале программы написать {$OPTIMIZATION OFF}... А то вот начнет компилятор куралесить! Дураки какие-то в Borland"е сидят! Оптимизируют что-то, а потом проблемы!


 
Builder   (2004-01-24 13:01) [4]

Этот понятно, спасибо, но так мы получаем размеры рабочей области в пикселах? А может проще FullScreen как - нибудь сделать?
Или Delphi не может все настраивать автомат...?
И где убирается окантовка окна? Ну что-бы просто рабочее поле оставалось?


 
DENNIS ©   (2004-01-24 13:12) [5]

Чтобы просто раб. область остамась, есть свойство у формы: BoderStyle. Его значение: bsNone.
И не надо писать никаких функций. Проще сделать (хотя в зависимости от того что нужно):
Form.Width:=Screen.Width;
аналогично с Height,


 
MacX   (2004-01-24 13:25) [6]

Я так понял человеку нужно не это... нужно изменить в инспекторе свойство Form := wsMaximized


 
MacX   (2004-01-24 13:25) [7]

Извиняюсь Form.WindowState := wsMaximized


 
Builder   (2004-01-24 14:56) [8]

А если на форме есть image1? Ведь у него размер фиксированный, можно ли его маштабировать?


 
DENNIS ©   (2004-01-24 15:09) [9]

у Image есть свойство Stretch. Делаешь ему true и изменяя его длину и ширину, он будет растягивать изображение. Еще есть св-во Prorortional. Ему true и размеры изменяются пропорционально.


 
Builder   (2004-01-24 15:33) [10]

А если я начинаю изменять размер формы? image остается в прежнем виде...


 
DENNIS ©   (2004-01-24 22:03) [11]

Даже закрой, а потом вызови. Все останется. Кроме того можешь менять IMAGE не открывая его.


 
MacX   (2004-01-24 22:29) [12]

Вот еще что может помочь: у многих объектов есть такой свойство (в инспекторе объектов) Anchors. По умолчанию в нем стоят лево и верх. Т.е. когда изменяются размеры формы, объекты передвигаются так, что расстояние слева и сверху не изменяется. Другими словами, объекты привязаны к левому верхнему углу формы. Поэкспериментируй - поймешь как это работает. Кроме того, если выставить, например, лево и право, то при увеличении формы объект тоже увеличится в ширину, т.к. расстояния и справа и слева не должны меняться. Так можно автоматически масштабировать объекты на форме.

Еще у некоторый объектов (TMemo например) есть свойство Align. Тоже позволяет автоматически масштабировать объекты.


 
Mihey ©   (2004-01-24 23:42) [13]

>Еще у некоторый объектов (TMemo например) есть свойство Align. Тоже позволяет автоматически масштабировать объекты.

У TImage тоже есть. Собственно говоря, у всех потомков TControl.


 
Князев Сергей   (2004-01-26 08:14) [14]


function TfrmMain.SetNewScreenMode(_width, _height: Integer):Boolean;
var DeviceMode : TDevMode;
begin
with DeviceMode do begin
 dmSize:=SizeOf(DeviceMode);
 dmBitsPerPel:=16;
 dmPelsWidth:=_width;
 dmPelsHeight:=_height;
 dmFields:=DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT;
 result:=False;
 if ChangeDisplaySettings(DeviceMode,CDS_TEST or CDS_UPDATEREGISTRY) <> DISP_CHANGE_SUCCESSFUL
  then Exit;
 Result:=ChangeDisplaySettings(DeviceMode,CDS_UPDATEREGISTRY) = DISP_CHANGE_SUCCESSFUL;
end;
end;


Задаещь при вызове ширину и высоту, и если результат True, то изменение экрана прошло успешно.



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

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

Наверх




Память: 0.5 MB
Время: 0.027 c
3-1080371614
VitGun
2004-03-27 10:13
2004.04.25
Грабли с запросом


11-1064752304
Oxy
2003-09-28 16:31
2004.04.25
Почему KOL-овская прога вылетает при попытке поставить хук?


3-1080293016
russko
2004-03-26 12:23
2004.04.25
Нехватка памяти при вызове БД


1-1081348339
RainKM
2004-04-07 18:32
2004.04.25
Компоненти для создания проги типа Експлорер!!!!!


7-1073774726
murdor
2004-01-11 01:45
2004.04.25
Комнонент для работы с LPT