Свойства, методы, события, типы, классы_______________________1025

OnDblCIick__________________________________________

Событие соответствует двойному щелчку мыши на компоненте

Класс TControl

Определение

typedef void (_closure *TNotifyEvent)(System::TObject* Sender);

_property Classes::TNotifyEvent OnDblCIick

Описание

Событие OnDblCIick наступает, если пользователь осуществил двойной щел-
чок: дважды с коротким интервалом нажал и отпустил основную кнопку мыши,
когда указатель мыши находился на компоненте. К одному и тому же компоненту
нельзя написать обработчики событий OnClick и OnDblCIick, поскольку первый из
них всегда перехватит первый из щелчков.

Параметр Sender содержит объект, в котором произошло событие, и может ис-
пользоваться для дифференцированной реакции на события в разных компонен-
тах (см. пример в разделе OnClick).

OnDragDrop

Событие наступает в момент отпускания перетаскиваемого компонента над
данным компонентом

Класс TControl

Определение

typedef void (_closure *TDragDropEvent)(System::TObject* Sender,

System::TObject* Source, int X, int Y) ;

_property TDragDropEvent OnDragDrop

Описание

Событие OnDragDrop наступает в момент отпускания перетаскиваемого ком-
понента над данным компонентом. В обработчике события надо описать, что в этот
момент должно произойти. Параметр Source соответствует перетаскиваемому объ-
екту, а параметр Sender — объекту, над которым объект был отпущен. Параметры
Х и Y содержат координаты позиции курсора мыши над компонентом в системе
координат клиентской области этого компонента.

Примеры

1. Пусть на форме имеется несколько списков типа TListBox и вы хотите позво-
лить пользователю перемещать строки из одного списка в другой. Это можно
сделать следующим образом.

Во всех списках задаются значения свойств DragMode. равные dmAutomatic.
Это обеспечивает автоматическое начало перетаскивания.
Далее для одного из списков пишется обработчик события OnDragOver вида:

void _fastcall TFormI::ListBoxIDragOver(TObject *Sender,

TObject *Source,.int X, int Y,
TDragState State, bool &Accept)

{
Accept -= Source->ClassNameIs("TListBox");

}

Этот обработчик указывает, что на данный компонент можно перетаскивать
объекты типа TListBox.

Во всех остальных списках в событии OnDragOver указывается этот же обра-
ботчик.

33 Зак.76'1