Главная страница

Учебное пособие для студентов Авторы А. Н. Вальвачев, К. А. Сурков, Д. А. Сурков, Ю. М. Четырько Содержание Содержание 1


Скачать 2.61 Mb.
НазваниеУчебное пособие для студентов Авторы А. Н. Вальвачев, К. А. Сурков, Д. А. Сурков, Ю. М. Четырько Содержание Содержание 1
Дата15.01.2023
Размер2.61 Mb.
Формат файлаdoc
Имя файлаlab_OOTP.doc
ТипУчебное пособие
#886736
страница20 из 33
1   ...   16   17   18   19   20   21   22   23   ...   33

Left и Top — местоположение визуального компонента внутри формы (или внутри компонента-владельца).

Width и Height — горизонтальный и вертикальный размеры компонента соответственно.

Anchors — позволяет привязать границы компонента к границам формы. Привязанная граница компонента будет следовать за соответствующей границей формы при изменении размеров формы. Поэкспериментируйте со значениями этого свойства и вы быстро уловите логику его работы.

BiDiModeпозволяет сделать так, чтобы текст читался справа налево (используется при работе с восточными языками). Компонент либо использует свое собственное значение свойства, либо копирует его из компонента-владельца, если вспомогательное свойство ParentBiDiMode равно значению True.

Caption — надпись компонента. Установленная в свойстве текстовая строка может содержать специальный символ ‘&’ (амперсант). Если в строке встречается амперсант, то следующий за ним символ отображается подчеркнутым (амперсант при этом не отображается). Нажатие соответствующей символьной клавиши на клавиатуре в сочетании с клавишей Alt активизирует компонент.

Constraints — ограничения на размеры компонента. Вложенные свойства MinWidth и MinHeight определяют минимальные ширину и высоту, а вложенные свойства MaxWidth и MaxHeight — максимальные ширину и высоту соответственно.

Color — цвет компонента. Компонент либо использует свой собственный цвет, либо копирует цвет содержащего компонента. Это определяется значением свойства ParentColor. Если свойство ParentColor имеет значение True, то изменение цвета у содержащего компонента (например, формы) автоматически приводит к изменению цвета вложенного компонента (например, кнопки). Однако, если вы измените значение свойства Color, то свойство ParentColor автоматически примет значение False, и компонент получит свой собственный цвет.

Cursor — определяет, какой вид принимает указатель мыши, когда пользователь наводит его на компонент. Каждому варианту указателя соответствует своя целочисленная константа (например, константа crArrow соответствует обычному указателю в виде стрелки). Полный список значений с описанием вы сможете найти в справочной системе среды Delphi.

DragCursor — вид указателя мыши, когда пользователь буксирует объект над компонентом. Этот вид курсора устанавливается лишь в том случае, если объект может быть принят (см. главу 10).

DragKind — определяет поведение компонента при буксировке: просто буксировка (dkDrag) или стыковка (dkDock). В зависимости от значения этого свойства возникает та или иная цепочка событий: цепочка событий буксировки или цепочка событий стыковки.

DragMode — определяет режим буксировки компонента по экрану. Если в свойстве установлено значение dmManual (принято по умолчанию), то буксировка должна инициироваться программно. Если же в свойстве установлено значение dmAutomatic, то компонент уже готов к буксировке, пользователю достаточно навести указатель мыши на компонент, нажать кнопку мыши и, удерживая ее, отбуксировать компонент в нужное место.

Enabled — определяет, доступен ли компонент для пользователя. Если свойство имеет значение True, то компонент доступен, а если значение False, то недоступен. Недоступный компонент обычно имеет блеклый вид.

Font — шрифт надписи на компоненте. Параметры шрифта задаются с помощью вложенных свойств CharSet, Color, Name, Size, Style, Height, Pitch, Weight. Компонент либо использует свой собственный шрифт, либо копирует шрифт содержащего компонента. Это определяется значением свойства ParentFont. Если свойство ParentFont имеет значение True, то изменение шрифта у содержащего компонента (например, формы) автоматически приводит к изменению шрифта у вложенного компонента (например, кнопки). Однако, если вы измените значение свойства Font, то свойство ParentFont автоматически примет значение False, и компонент получит свой собственный шрифт для надписи.

HelpType — определяет, каким образом в файле справки будет осуществляться поиск темы, соответствующей компоненту. Когда компонент обладает фокусом ввода, пользователь может нажать клавишу F1, чтобы получить оперативную справку. Поиск соответствующей темы осуществляется либо по номеру, заданному в свойстве HelpContext, либо по ключевому слову, заданному в свойстве HelpKeyword. В первом случае свойство HelpType должно иметь значение htContext, а во втором — htKeyword.

HelpContext — содержит номер соответствующей темы в файле справки. Используется, когда свойство HelpType имеет значение htContext. Если свойство HelpContext имеет значение 0, то номер темы берется из аналогичного свойства компонента-владельца (как правило, формы).

HelpKeyword — содержит ключевое слово для поиска темы в файле справки. Используется, когда свойство HelpType имеет значение htKeyword. Если свойство HelpKeyword имеет пустое значение, то поиск осуществляется по ключевому слову, которое берется из аналогичного свойства компонента-владельца (как правило, формы).

Hint — подсказка, появляющаяся над компонентом, когда пользователь временно задерживает над ним указатель мыши. Появление подсказки может быть разрешено или запрещено с помощью свойства ShowHint. Значение свойства ShowHint может копироваться из содержащего компонента в зависимости от значения свойства ParentShowHint. Если свойство ParentShowHint имеет значение True, то запрет подсказки для содержащего компонента (например, для формы), автоматически приводит к запрету подсказки для вложенного компонента (например, для кнопки). Однако, если вы измените значение свойства ShowHint, то свойство ParentShowHint автоматически примет значение False, и управление запретом подсказки перейдет к компоненту.

PopupMenu — используется для привязки контекстного меню к компоненту. Это меню вызывается щелчком правой кнопки мыши по компоненту. Меню подробно рассмотрены в главе 8.

TabOrder — содержит порядковый номер компонента в пределах своего компонента-владельца. Это номер очереди, в которой компонент получает фокус ввода при нажатии клавиши Tab на клавиатуре. Свойство TabOrder присутствует только в оконных компонентах.

TabStop — определяет, может ли компонент получать фокус ввода. Если свойство имеет значение True, то компонент находится в очереди на фокус ввода, а если значение False, то — нет. Свойство TabStop присутствует только в оконных компонентах.

Visible — определяет видимость компонента на экране. Если свойство имеет значение True, то компонент виден, а если значение False, то — не виден.

7.5.5. Общие события визуальных компонентов

Визуальные компоненты имеют ряд общих событий:

OnClick — происходит в результате щелчка мыши по компоненту.

OnContextPopup — происходит при вызове контекстного меню компонента.

OnDblClick — происходит в результате двойного щелчка мыши по компоненту.

OnEnter — происходит при получении компонентом фокуса ввода. Когда компонент теряет фокус ввода, происходит событие OnExit. События OnEnter и OnExit не происходят при переключении между формами и приложениями.

OnKeyDown — происходит при нажатии пользователем любой клавиши (если компонент обладает фокусом ввода). При отпускании нажатой клавиши происходит событие OnKeyUp. Если пользователь нажал символьную клавишу, то вслед за событием OnKeyDown и до события OnKeyUp происходит событие OnKeyPress. События о нажатии клавиш обычно приходят активному компоненту, обладающему фокусом ввода. Однако с помощью свойства формы KeyPreview можно сделать так, чтобы форма перехватывала клавиатурные события до того, как их получит активный компонент. Для этого свойство KeyPreview устананавливается в значение True.

OnMouseDown — происходит при нажатии пользователем кнопки мыши, когда указатель мыши наведен на компонент. После отпускания кнопки мыши в компоненте происходит событие OnMouseUp. При перемещении указателя мыши над компонентом, в последнем периодически возникает событие OnMouseMove, что позволяет отслеживать позицию указателя.

Для организации буксировки и стыковки, в визуальных компонентах существует еще несколько событий:

OnStartDrag — происходит, когда пользователь начинает что-нибудь буксировать.

OnDragOver — периодически происходит, когда пользователь буксирует что-нибудь над компонентом.

OnDragDrop — происходит, когда пользователь опускает буксируемый объект на компонент.

OnEndDrag — происходит по окончании буксировки объекта.

OnStartDock — происходит, когда пользователь начинает буксировать стыкуемый компонент.

OnEndDock — происходит по окончании стыковки компонента.

Подробно события буксировки и стыковки рассмотрены в главе 10.

7.6. Управление компонентами при проектировании

7.6.1. Помещение компонентов на форму и их удаление

Чтобы поместить на форму нужный компонент из палитры компонентов, выполните следующие действия:

  1. Наведите указатель мыши на значок нужного компонента в палитре и щелкните левой кнопкой мыши.

  2. Наведите указатель мыши на нужное место формы и еще раз щелкните левой кнопкой мыши.

Выбранный компонент окажется на форме и будет готов к настройке в окне свойств.

Часто требуется разместить на форме несколько компонентов одного и того же типа, например, кнопок. В этом случае действуйте следующим образом:

  1. Наведите указатель мыши на значок нужного компонента в палитре. Нажмите клавишу Shift и, удерживая ее, щелкните левой кнопкой мыши. Отпустите клавишу Shift.

  2. Наведите указатель мыши на то место формы, где будет находиться первый компонент, и щелкните левой кнопкой мыши.

  3. Наведите указатель мыши на то место формы, где будет размещен следующий компонент, и снова щелкните левой кнопкой мыши. Повторите это действие столько раз, сколько вам нужно компонентов;

  4. Разместив последний компонент, наведите указатель мыши на кнопку с изображением стрелки (она расположена в левой части палитры компонентов), и щелкните левой кнопкой мыши. Это будет сигналом, что размещение однотипных компонентов закончено.

Если вы по каким-либо причинам решили убрать лишний компонент с формы, просто выберите его с помощью мыши и нажмите клавишу Del.

7.6.2. Выделение компонентов на форме

На стадии проектирования любой компонент может быть выделен на форме. Свойства выделенного компонента видны в окне свойств и доступны для редактирования. Чтобы выделить компонент, достаточно навести на него указатель и нажать кнопку мыши. Вокруг компонента тут же появятся так называемые "точки растяжки" (sizing handles) для изменения размеров компонента по ширине и высоте (рисунок 7.40).



Рисунок 7.40. Точки растяжки компонента

При проектировании сложных форм вы столкнетесь с ситуацией, когда сразу в нескольких компонентах нужно установить некоторое свойство в одно и то же значение. Например, в нескольких кнопках установить свойство Enabled в значение False. Быстрее всего это можно сделать, если выделить несколько компонентов, после чего перейти к окну свойств и изменить нужное свойство. Когда на форме выделено несколько компонентов, в окне свойств видны только их общие свойства.

Выделить несколько компонентов можно двумя способами:

  • Нажать клавишу Shift и, удерживая ее, отметить щелчками мыши все требуемые компоненты, после чего клавишу Shift отпустить. В углах каждого выделенного компонента появятся небольшие квадратики-маркеры.

  • Нажать кнопку мыши, когда курсор находится вне компонентов. Затем, удерживая кнопку в нажатом состоянии, протянуть курсор над выделяемыми компонентами, включив их в пунктирный прямоугольник. Когда в пунктирный прямоугольник попадут все требуемые компоненты, кнопку мыши следует отпустить. (Если выделяемые компоненты находятся внутри компонента Panel или GroupBox, то эту операцию нужно выполнять с нажатой клавишей Ctrl.) В результате перечисленных действий в углах всех компонентов, хотя бы частично попавших в пунктирный прямоугольник, появятся небольшие квадратики-маркеры, свидетельствующие о том, что компоненты выделены.

Вы можете комбинировать оба способа для выделения лишь тех компонентов, которые вам нужны.

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



Рисунок 7.41. Установка свойства для группы компонентов

Когда на форме выделено несколько компонентов, некоторые свойства могут как бы не иметь значения в окне Object Inspector (в поле значения — пусто). Это говорит о том, что свойства имеют различные значения в выделенных компонентах.

7.6.3. Перемещение и изменение размеров компонента

Когда все компоненты помещены на форму, нужно оценить ее с точки зрения эстетики. Отойдите от компьютера и посмотрите на форму со стороны. Как правило, в пейзаже обнаружатся некоторые изъяны. Наверняка что-то захочется уменьшить, что-то увеличить, что-то переместить на другое место. Сделать все это — проще простого.

Для перемещения компонента на другое место:

  1. Поместите курсор над компонентом, который хотите переместить, и щелкните мышью (компонент тут же окажется в фокусе). Не отпуская кнопки мыши, отбуксируйте компонент на новое место.

  2. Когда компонент будет там, где надо, отпустите кнопку мыши.

Изменить размер компонента тоже просто:

  1. Щелчком мыши активизируйте компонент, размер которого хотите изменить (он тут же окажется в фокусе);

  2. Наведите указатель мыши на точку вертикальной или горизонтальной “растяжки”, при этом вид указателя изменится на двунаправленную стрелку. Нажмите кнопку мыши и, удерживая ее, перемещайте указатель в сторону уменьшения или увеличения размера компонента;

  3. Добившись желаемого размера, отпустите кнопку мыши и отведите указатель от точки растяжки (при этом указатель примет обычный вид). Компонент с новыми размерами готов к работе.

Чтобы упростить вам позиционирование и изменение размеров компонентов, форма отображает на этапе разработки сетку (grid). Компоненты автоматически выравниваются на пересечении воображаемых линий сетки, когда вы переносите их из палитры компонентов на форму. Изначально шаг между горизонтальными и вертикальными линиями сетки равен 8, но его легко изменить. Для этого выполните команду меню Tools | Environment Options... . На экране появится диалоговый блок Environment Options. Отыщите поля Grid size X и Grid size Y на вкладке Designer и установите те параметры сетки, которые вам нужны (рисунок 7.42). Кстати, с помощью соседних переключателей можно указать среде Delphi, следует ли вообще показывать сетку (Display grid) и следует ли выравнивать по ней компоненты (Snap to grid).



Рисунок 7.42. Расстояние между узлами сетки по горизонтали и вертикали

Иногда после грубого размещения компонента на сетке необходимо подогнать его положение и размеры с точностью до точки экрана. Для этого не требуется отключать сетку или изменять ее шаг. Просто выберите компонент на форме и действуйте следующим образом:

  • Нажмите клавишу Ctrl и, удерживая ее нажатой, с помощью клавиш со стрелками подвиньте компонент на нужное количество точек экрана. Отпустите клавишу Ctrl.

  • Нажмите клавишу Shift и, удерживая ее нажатой, с помощью клавиш со стрелками растяните или сожмите компонент на нужное количество точек экрана. Отпустите клавишу Shift.

7.6.4. Выравнивание компонентов на форме

Когда на форме много компонентов, ручное выравнивание становится весьма утомительным занятием. На этот случай в среде Delphi предусмотрены средства автоматизированного выравнивания компонентов. Алгоритм выравнивания следующий:

  1. Выделите компоненты, которые собираетесь выравнять. Во всех четырех углах каждого выделенного компонента появятся небольшие квадратики-маркеры;

  2. Обратитесь к главному меню и вызовите окно Alignment (рисунок 7.43) с помощью команды меню Edit | Align... .



Рисунок 7.43. Диалоговое окно для выбора способа выравнивания группы компонентов на форме

  1. Выберите в списке то, что вам надо, и нажмите кнопку OK. Окно закроется и все компоненты будут выравнены согласно вашим указаниям.

Если компонентов на форме много и вам предстоит большая работа по их выравниванию, откройте окно Align (с помощью команды меню View|AlignmentPalette) и используйте его на втором шаге приведенного выше алгоритма (рисунок 7.44).



Рисунок 7.44. Вспомогательная панель кнопок для выравнивания группы компонентов на форме

7.6.5. Использование Буфера обмена

При работе с несколькими формами иногда встает задача копирования и перемещения компонентов с одной формы на другую. Обычное перетягивание здесь не помогает. Проблема легко решается с помощью Буфера обмена:

  1. С помощью известных приемов выберите на первой форме компоненты, которые вы желаете скопировать или переместить на вторую форму.

  2. Если вы собираетесь скопировать компоненты, выберите в меню команду Edit|Copy. Если вы собираетесь переместить компоненты, выберите в меню команду Edit|Cut. Компоненты окажутся в Буфере обмена.

  3. Активизируйте вторую форму и выберите в меню команду Edit|Paste. По этой команде среда Delphi извлечет компоненты из Буфера обмена и поместит их на активную форму.

Добавим, что команды работы с Буфером обмена применяются не только для копирования и перемещения компонентов с одной формы на другую, но также для копирования и перемещения компонентов в пределах одной формы между разными компонентами-владельцами, например для перемещения кнопок с одной панели на другую. Необходимость использования Буфера обмена в этом случае вызвана тем, что компоненты твердо знают своего владельца (например, кнопки знают панель, на которой они расположены), поэтому обычная операция буксировки ни к чему не приводит.

Итак, вы уже много знаете о компонентах, и дальше углубляться в них не имеет смысла. Начиная со следующей главы, мы начнем знакомить вас с элементами пользовательского интерфейса: меню, панелью инструментов, строкой состояния, диалоговыми окнами и др. — вот там и поговорим о деталях. А сейчас скажем несколько слов о тех объектах, которые усердно работают "за кулисами" приложения и обеспечивают ему доступ к различным ресурсам компьютера, например экрану, принтеру, Буферу обмена и др.

7.7. Закулисные объекты приложения

7.7.1. Application — главный объект, управляющий приложением

То, о чем мы рассказали выше — это внешняя сторона приложения. А что же происходит внутри? Дело обстоит так. Над всеми формами и компонентами стоит объект Application (класса TApplication), олицетворяющий собой приложение в целом. Это главное “действующее лицо”, которое создается в начале выполнения любого приложения. Объект Application держит в руках все нити управления: создает главную и второстепенные формы, уничтожает их, обслуживает исключительные ситуации. Вы, кстати, уже встречались с ним в файле проекта:

program Project1;
uses

Forms,

Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

Объект Application отсутствует в палитре компонентов, поэтому его свойства можно изменять только из программы. Кратко рассмотрим наиболее важные свойства этого объекта:

Active — равно значению True, если приложение активно.

AutoDragDocking — режим автоматической или ручной стыковки форм и компонентов. В автоматическом режиме (значение True) стыковка происходит по окончании буксировки при отпускании кнопки мыши. В ручном режиме (значение False) для стыковки необходимо удерживать клавишу Ctrl при отпускании кнопки мыши.

BiDiKeyboard — раскладка клавиатуры при работе с восточными языками.

BiDiMode — позволяет сделать так, чтобы надписи читались справа налево (используется при работе с восточными языками).

CurrentHelpFile — имя файла справки активной формы программы (каждая форма может иметь свой собственный файл справки). Если у активной формы нет своего файла справки, то в свойстве CurrentHelpFile просто дублируется значение свойства HelpFile.

HintColor — цвет фона всплывающей подсказки.

HintHidePause — время, в течение которого всплывающая подсказка задерживается на экране.

HintPause — задержка перед появлением всплывающей подсказки.

HintShortCuts — определяет, включается ли в текст подсказки название комбинации клавиш.

HintShortPause — время, через которое появляется всплывающая подсказка, если в данный момент на экране уже отображена другая подсказка.

MainForm — указывает главную форму приложения. По умолчанию главной считается первая создаваемая форма.

NonBiDiKeyboard — раскладка клавиатуры.

ExeName — содержит полное имя (включая маршрут) выполняемого файла программы. Имя выполняемого файла совпадает с именем главного файла проекта. Если имя проекта не было указано, то по умолчанию выполняемому файлу назначается имя Project1.

Title — содержит название приложения, которое отображается на Панели Задач во время работы. По умолчанию значением свойства является имя главного файла проекта.

HelpFile — содержит имя файла справочника, который используется программой для отображения оперативной справочной информации по формам и компонентам.

HelpSystem — интерфейс к справочной системе.

Icon — содержит значок, отображаемый на Панели Задач во время работы программы. Значок отображается слева от названия (см. Title).

UpdateFormatSettings — включает автоматическое обновление форматных строк в программе вслед за изменением этих параметров в операционной системе. Форматные строки управляют показом даты, времени, денежных единиц и др.

UpdateMetricSettings — включает автоматическое обновление шрифта и фона системных надписей (всплывающих подсказок и подписей значков) при изменении настроек экрана в операционной системе.

Terminated — значение True говорит о том, что программа находится в процессе завершения.

Если вы желаете задать заголовок (свойство Title), значок (свойство Icon) и имя файла справочника (свойство HelpFile) для приложения, не корректируйте главный программный файл, а обратитесь лучше к диалоговому окну ProjectOptions (рисунок 7.45), которое появляется по команде меню Project|Options... .



Рисунок 7.45. Окно параметров проекта

Объект Application имеет несколько полезных событий. Самые важные из них: OnActivate, OnDeactivate, OnException.

OnActionExecute — происходит при выполнении любой команды в компоненте ActionList (см. главу 10).

OnActionUpdate — происходит во время простоя программы для обновления состояния команд в компоненте ActionList (см. главу 10).

OnActivate — происходит, когда программа получает фокус ввода, т.е. когда пользователь переключается на нее с другой программы.

OnDeactivate — происходит, когда программа теряет фокус ввода, т.е. когда пользователь переключается с нее на другую программу.

OnException — происходит, когда в программе возникает необработанная исключительная ситуация. Стандартный обработчик этого события вызывает метод ShowException для отображения окна сообщений с пояснением причины ошибки. Вы можете изменить реакцию на событие OnException, переписав его обработчик.

OnHelp — происходит, когда пользователь вызывает справку.

OnHint — происходит, когда курсор мыши наводится на компонент, содержащий всплывающую подсказку.

OnIdle — периодически происходит во время простоя программы.

OnMessage — происходит при получении программой сообщения операционной системы Windows.

OnMinimize — происходит, когда пользователь сворачивает программу.

OnModalBegin — происходит при отображении монопольной формы на экране.

OnModalEnd — происходит при закрытии монопольной формы.

OnRestore — происходит, когда пользователь восстанавливает свернутую программу.

OnSettingChange — происходит при изменении настроек операционной системы, например, настроек экрана или региональных настроек.

OnShortCut — происходит при нажатии клавиш на клавиатуре (еще до того, как в форме происходит событие OnKeyDown).

OnShowHint — происходит непосредственно перед появлением любой всплывающей подсказки.

Из всех методов объекта Application мы упомянем лишь один — Terminate. Он выполняет штатное завершение приложения. Запомните, метод Terminate не вызывает немедленного завершения приложения, давая возможность всем формам корректно себя закрыть. Во время закрытия форм свойство Terminated имеет значение True.

При необходимости на помощь объекту Application спешат менее значительные “персоны”: объекты Screen, Printer и Clipboard. Они также являются глобальными и создаются автоматически при запуске приложения (если, конечно, подключены стандартные модули, где они расположены).

7.7.2. Screen — объект, управляющий экраном

Каждая программа что-то выводит на экран, иначе она просто бесполезна. В среде Delphi экран трактуется как глобальный объект Screen класса TScreen, имеющий набор свойств. Многие из них жестко связаны с физическими характеристиками экрана (с “железом“), поэтому в большинстве случаев не доступны для записи. Обозначим самые важные свойства:

Width и Height — ширина и высота экрана в пикселях.

ActiveForm — активная форма (та, которая в текущий момент находится в фокусе ввода).

ActiveControl — указывает компонент, который обладает фокусом ввода в активной форме.

Cursor — управляет внешним видом указателя мыши для всех форм приложения.

Cursors — список доступных указателей мыши.

DataModuleCount — количество модулей данных, созданных приложением. Модуль данных — это нечто вроде невидимой формы, в которой можно размещать исключительно невизуальные компоненты. Перемещение невизуальных компонентов из формы в модуль данных может в ряде случаев улучшить структуризацию программы за счет отделения предметной программной логики от программной логики пользовательского интерфейса.

DataModules — список всех модулей данных, созданных приложением.

DesktopWidth и DesktopHeight — ширина и высота виртуального экрана (используется, когда к компьютеру подключено несколько мониторов).

DesktopLeft и DesktopTop — позиция виртуального экрана на экране монитора.

DesktopRect — координаты виртуального экрана.

Fonts — список всех поддерживаемых шрифтов.

FormCount — количество форм, созданных приложением.

Forms — список всех форм, созданных приложением.

HintFont — шрифт всплывающих подсказок.

IconFont — шрифт подписей к значкам.

MenuFont — шрифт текста в меню.

MonitorCount — количество мониторов, подключенных к компьютеру.

Monitors — список всех мониторов, подключенных к компьютеру.

PixelsPerInch — количество пикселей в одном дюйме экрана монитора.

WorkAreaWidth и WorkAreaHeight — ширина и высота рабочей области экрана (не включает панель задач). Если к компьютеру подключено несколько мониторов, то рассчитывается ширина и высота рабочей области на основном мониторе.

WorkAreaLeft и WorkAreaTop — позиция рабочей области на экране монитора.

WorkAreaRect — размеры и позиция рабочей области на экране монитора.

В качестве примера использования объекта Screen приведем фрагмент, устанавливающий указателю мыши вид песочных часов на время выполнения какой-либо длительной операции:

Screen.Cursor := crHourGlass;

try

{ Длительная операция }

finally

Screen.Cursor := crDefault;

end;

7.7.3. Mouse — объект, представляющий мышь

Вряд ли сейчас можно встретить компьютеры без миниатюрного “хвостатого” устройства, называемого мышью. Для работы с ним в среде Delphi есть специальный объект MouseTMouse, автоматически добавляемый в программу при подключении модуля Controls. Перечислим наиболее важные свойства этого объекта:

Capture — содержит описатель окна, захватившего мышь для монопольного использования (это объект операционной системы Windows).

CursorPos — позиция указателя мыши.

DragImmediate — определяет, когда начинается буксировка: значение True — немедленно, значение False — после того, как указатель мыши переместиться на DragThreshold позиций при удерживаемой кнопке мыши.

DragThreshold — количество пикселей, на которые необходимо переместить указатель при нажатой кнопке мыши, чтобы началась буксировка.

IsDragging — проверяет, идет ли в данный момент процесс буксировки.

MousePresent — проверяет, подключена ли мышь к компьютеру.

WheelPresent — проверяет, есть ли у мыши колесико.

WheelScrollLines — количество логических строк, на которые смещается страница при прокрутке колесика мыши на один шаг.

7.7.4. Printer — объект, управляющий принтером

Большинство программ выводят некоторый текст или рисунки на печатающее устройство. Для этого полезного дела в среде Delphi имеется специальный объект Printer. Он становится доступен после подключения модуля Printers. Если вы включите этот модуль в проект, сразу после старта будет порожден объект Printer класса TPrinter. Его свойства и методы дают вам весьма неплохие возможности для печати из приложения на все виды принтеров. Однако, тема эта заслуживает отдельной главы (см. гл. 10).

7.7.5. Clipboard — объект, управляющий Буфером обмена

Каждый, кто работал с текстом, знает, какая это великолепная штука — Буфер обмена (Clipboard). Напомним, что это буфер, куда можно что-то положить (например, текст или рисунок), а потом взять это оттуда. За операции с Буфером обмена в среде Delphi отвечает глобальный объект Clipboard класса TClipboard. Он расположен в модуле Clipbrd. О том, как объект Clipboard используется практически, подробно рассказано в гл. 8.

7.8. Итоги

Время потрачено не зря! Вы узнали о проекте все:

  • что он собой представляет и из каких частей состоит (файлы описания форм, файлы программных модулей, главный файл проекта и др.);

  • как открывать, сохранять, выполнять проект и управлять им с помощью окна Project Manager;

  • что есть форма, как изменять ее стиль, размер, местоположение, цвет, как переключаться с главной формы на второстепенную и наоборот и т.д.

  • что есть компонент, откуда его взять, куда поместить, как навести порядок в группе компонентов;

  • кто управляет приложением изнутри (объект Application) и кто ему в этом помогает (объекты Screen, Printer, Clipboard).

Да, трудновато все это было усвоить, но надо. Тяжело в учении — легко в бою. Утешив себя этой истиной, перейдем к изучению важнейших элементов пользовательского интерфейса — меню, панели инструментов и строки состояния.

1   ...   16   17   18   19   20   21   22   23   ...   33


написать администратору сайта