Событие OnDragOver возникает во время перемещения курсора мыши над объектом-приемником, а также при отпускании кнопки на этом объекте.
Параметры события:
- Sender - объект-приемник (над ним находится курсор);
- Source - объект-источник;
- X,Y - координаты мыши в системе клиентской области объекта Sender;
- State - состояние (имеет одно из трех значений dsDragEnter – курсор мыши появился над элементом; dsDragMove курсор перемещается над элементом; dsDragLeave – курсор ушел с элемента или над элементом была отпущена кнопка).
- Accept – логическая переменная. В этой переменной обработчик должен вернуть свое решение принимать или не принимать объект Source.
Например, компонент класса Label (Name=Label1) должен принимать только компоненты класса Shape (геометрические фигуры), тогда его обработчик будет содержать проверку переносимого объекта-источника (Source):
void __fastcall TForm1::Label1DragOver(TObject *Sender, TObject *Source,
int X, int Y, TDragState State, bool &Accept)
{
Accept=Source->ClassNameIs("TShape");
}
|