Для решения подобного рода проблем все оконные элементы управления имеют два свойства. Свойство TabOrder определяет порядок передачи фокуса между элементами управления одного владельца (формы, панели, группы) при нажатии клавиши <ТаЬ>. Значение 0 имеет компонент, который будет получать фокус при открытии формы.

Для того чтобы свойство TabOrder работало, свойство Tabstop должно иметь значение True.

Кроме этого, все кнопки (произошедшие от TButtonControl) имеют свойство Default, которое при значении True заставляет кнопку реагировать на нажатие клавиши <Enter> как на щелчок на кнопке, даже если она не имеет фокус. Только одна кнопка на форме может иметь это свойство установленным.

Для передачи фокуса любому оконному элементу управления программными средствами можно использовать метод

procedure SetFocus;
virtual;

унаследованный от класса TWinControl.

При необходимости работы в форме применяется метод

function SetFocusedControl(Control: TWinControi): Boolean;
virtual;

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

Управление мышью

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

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

На нажатие кнопки мыши реагирует метод type

TMouseEvent = procedure (Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer) of object-property OnJMouseDown: TMouseEvent ;

В параметре Button передается признак нажатой кнопки:

type TMouseButton = (mbLeft, mbRight, mbMiddle) ;

Параметр shift определяет нажатие дополнительной клавиши на клавиатуре:

type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble) ;

Параметры x и Y возвращают координаты курсора.

На отпускание кнопки мыши реагирует метод:

type

TMouseEvent = procedure (Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer) of object;
property OnMous eUp: TMouseEvent ;

Его параметры описаны выше.

При перемещении мыши можно вызывать метод-обработчик

TMouseMoveEvent = procedure(Sender: TCbject;
Shift: TShiftState;
X, Y: Integer) of object;
property QnMouseMove: TMouseMoveEvent ;

Если у разработчика нет необходимости так подробно отслеживать состояние мыши, можно воспользоваться двумя другими методами:

property OnClick: TJNfotifyEvent;
property QnEblClick: TNotifyEvent;

Первый реагирует на щелчок кнопкой, второй - на двойной щелчок.

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

property Cursor: TCursor;

Для управления дополнительными возможностями мыши для работы в Internet (ScrollMouse) предназначены три метода обработчика, реагирующие на прокрутку:

О property OnMouseWheel: TMouseWheelEvent;
вызывается при прокрутке;
О property OnMouseWheelUp: TMouseWheelUpDownEvent;
вызывается при прокрутке вперед;
О property OnMouseWheelDown: TMouseWheelUpDownEvent;

⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Июнь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс