|
||||||||
|
Форма и ее свойства. Управление дочерними элементами
Если вы хотите передать фокус одной из форм проекта, используйте метод этой формы:
Форма при этом обязана быть видимой и активной (Enabled), иначе создается исключительная ситуация EInvalidOperation. Два метода отвечают за передачу фокуса между визуальными компонентами в составе формы. Метод
передает фокус элементу управления Control, а метод
отбирает его. Параметр Removing, равный True, означает, что элемент при этом должен передать фокус своему родительскому элементу. Напомним, что для элементов в эти моменты генерируются события OnEnter и OnExit. Имеющий фокус элемент определяется свойством:
Оно может принимать значение nil, если фокус имеет сама форма. В компоненте TForm доступен еще один метод, по предназначению сходный с FocusControl:
Этот метод вызывается внутри многих компонентов (находящихся вне модуля FORMS) при получении фокуса ввода ? именно поэтому он находится в секции public. Программисту не стоит его использовать, т. к. он не документирован. Форма относится к компонентам с возможностью прокрутки содержимого клиентской области. К полосам прокрутки можно обратиться как к отдельным объектам с помощью свойств:
Если все элементы управления не могут быть видны при данных размерах формы, она может быть снабжена полосами прокрутки автоматически. Это происходит, если свойство
установлено в значение True. Следующий метод помещает элемент управления AControl в видимую часть клиентской области:
Он изменяет, если необходимо, положение бегунков полос прокрутки. При передаче фокуса между элементами управления формы те из них, которые находятся вне ее видимой части, автоматически вызывают этот метод. Форма имеет возможность перехватить ввод от клавиатуры, предназначенный имеющему фокус элементу управления. Установка свойства
в True означает, что поступающие от клавиатуры сообщения будут сначала поступать форме, и только затем ? элементу. Пример использования этой возможности приведен в разделе "Обработка событий от мыши и клавиатуры". Немаловажной проблемой является то, как заставить форму и ее элементы выглядеть одинаково при различных режимах работы видеоадаптера. Текущую разрешающую способность в точках на дюйм можно задать при помощи свойства:
Вы можете присвоить этому свойству любое значение, превышающее 36, либо 0. При ненулевом значении этого свойства во время создания форма и все ее элементы масштабируются в некоторой пропорции. Эта пропорция равна отношению числа точек на дюйм на экране в данный момент к этому же числу во время разработки. Если же PixelsPerInch = 0, никакого масштабирования не производится. Чтобы не изменять PixelsPerInch напрямую, разработчики предусмотрели другое ? обобщающее ? свойство:
При установке Scaled в False PixelsPerInch обнуляется, в True ? получает новое значение, равное числу точек на дюйм на экране в текущем видеорежиме. Нужно учитывать, что если вы хотите сделать приложение, независимое от разрешения экрана, то значение свойства Position у всех его форм должно отличаться от poDesigned ? иначе они будут появляться в разных местах (в том числе и за пределами экрана). Внешний вид формы и ее составных частей можно отобразить не только на экране. Метод
возвращает "моментальный снимок" формы ? битовую карту с ее изображением. Печать на принтере изображения формы, полученного при помощи GetFormImage, осуществляется методом:
Полученное изображение передается объекту TPrinter (см. ниже), при этом его масштабирование производится в соответствии со значением свойства:
Для комментария : kadan@grsu.grodno.by | |||||||||||
За содержание страницы отвечает Гончарова М.Н. © Кафедра СПиКБ, 2002-2017 |