Класс TScreen
Этот компонент представляет свойства дисплея (в Windows 98 и 2000 – нескольких дисплеев), на котором выполняется приложение. Поскольку экземпляр данного класса только один (он создается системой при запуске приложения), то большинство методов и свойств имеют информационный характер и недоступны для записи.
Курсор приложения, общий для всех форм, доступен через свойство:
property Cursor: TCursor;
Часто приходится включать "песочные часы" на время выполнения длительной операции. Правильнее всего это сделать следующим образом:
Screen.Cursor: = crHourglass; try {Calculations…} finally Screen.Cursor: = crDefault; end;
Имеется список всех курсоров. Получить дескриптор курсора с индексом index можно при помощи свойства:
property Cursors[Index: Integer]: HCURSOR;
Напомним, что индексы зарегистрированных курсоров лежат в диапазоне от -22 (crSizeAll) до 0 (crDefault).
Рассмотренный ниже фрагмент кода при инициализации формы заносит имена всех зарегистрированных в системе курсоров в список ListBoxl. Затем при выборе элемента списка устанавливается соответствующий ему курсор:
procedure TForml.FormCreate(Sender: TObj ect); type TGetStrFunc = function(const Value: string): Integer of object; var CursorNames: TStringList; AddValue: TGetStrFunc; begin CursorNames: = TStringList.Create; AddValue: = CursorNames.Add; GetCursorValues(TGetStrProc(AddValue)); ListBoxl.Items.Assign(CursorNames); end; procedure TForml.ListBoxlClick(Sender: TObject); begin Screen.Cursor: = StringToCursor(ListBoxl.Items [ListBoxl.Itemlndex]); end;
Список курсоров, функции GetCursorValues, StringToCursor и некоторые другие содержатся в модуле CONTROLS.PAS.
Имена всех установленных в системе шрифтов помещаются в список, определенный в свойстве:
property Fonts: TStrings;
Компонент сообщает неизменяемые свойства экрана (в данном видеорежиме). Его размеры в пикселах определены в свойствах:
property Height: Integer; property Width: Integer;
В последних версиях ОС Microsoft имеется поддержка отображения на нескольких мониторах одновременно. Для этой цели предусмотрены свойства:
property MonitorCount: Integer; property Monitors[Index: Integer]: TMonitor;
Каждый компонент TMonitor несет информацию о размерах и положении изображения на нем. Образовавшийся же виртуальный рабочий стол характеризуется следующими свойствами:
property DesktopLeft: Integer; property DesktopTop: Integer; property DesktopWidth: Integer; property DesktopHeight: Integer;