Учись программированию на C++ Builder бесплатно!

Описание


Событие OnEndDrag наступает при любом окончании процесса перетаскивания компонента - успешном (компонент перетащен в приемник) или безуспешном (компонент отпущен над формой или компонентом, не способным его принять). Событие наступает в перетаскиваемом компоненте.

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

Параметр Sender - это сам объект перетаскивания. Параметр Target - это компонент-приемник, если объект был им принят, или NULL, если перетаскивание закончилось неудачей. Параметры X и Y - координаты экрана в пикселах.

Классы


TControl

Определение


typedef void (__closure *TEndDragEvent)(System::TObjeot* Sender, System::TObject* Target, int X, int Y);
__property TEndDragEvent OnEndDrag

Пример


В примере просто отображается сообщение о результатах перетаскивания типа «Перенесение объекта ListBox1 прервано» или «ListBox1 перенесен в ListBox2». Но, конечно, аналогичным образом можно предусмотреть любые действия.

void __fastcall TForm1::ListBox1EndDrag(TObject *Sender,TObject *Target, int X, int Y)
{
if (Target == NULL)
ShowMessage("Перенесение объекта " + ((TControl*)Sender)->Name + " прервано");
else
ShowMessage(((TControl*)Sender)->Name + " перенесен в " + ( (TControl*)Target)->Name);
}

Поиск по сайту