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

Вниз

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

 
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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.034 c
9-1067548576
MrAngel
2003-10-31 00:16
2004.04.25
Уменьшение числа полигонов на модели


1-1081113111
vertal
2004-04-05 01:11
2004.04.25
Надежность программ на Delphi


4-1076991892
Unax
2004-02-17 07:24
2004.04.25
Запрет обработки сообщений окну


3-1080788521
Badboy
2004-04-01 07:02
2004.04.25
Добавление


1-1081147580
СержК
2004-04-05 10:46
2004.04.25
Создание bat файла





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