Главная страница
    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.04 c
1-1081685178
Феликс
2004-04-11 16:06
2004.04.25
Вопрос с картинкой про траекторию.


14-1081104438
VID
2004-04-04 22:47
2004.04.25
Кеш винта не успевает сбросится на диски


3-1080542586
Nikolai_S
2004-03-29 10:43
2004.04.25
Как узнать значение ключевого автоинкрементного поля после INSERT


14-1080708940
Dmitriy O.
2004-03-31 08:55
2004.04.25
Как вывести формулу функции по заданным точкам ?


9-1066850438
G A M E R
2003-10-22 23:20
2004.04.25
BumpMapping





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