Gezogene Elemente akzeptieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Mit Steuerelementen arbeiten - Index

Wenn der Benutzer ein Objekt über ein Steuerelement zieht, wird für dieses Steuerelement ein OnDragOver-Ereignis ausgelöst. Das Steuerelement muss nun entscheiden, ob es das Objekt akzeptiert. Ist dies der Fall, ändert sich die Form des Mauszeigers. Um Objekte zu akzeptieren, die über ein Steuerelement gezogen werden, erstellen Sie für dessen Ereignis OnDragOver eine Behandlungsroutine.

Das OnDragOver-Ereignis verfügt über den Parameter Accept, den die Ereignisbehandlungsroutine auf True setzen kann, wenn das Element akzeptiert wird. Accept ändert den Cursortyp in einen akzeptierenden Cursor oder nicht.

Das DragOver-Ereignis besitzt andere Parameter, welche die Quelle der Drag-Operation und die aktuelle Position des Cursors angeben. Die Ereignisbehandlungsroutine kann mithilfe dieser Parameter bestimmen, ob das gezogene Element angenommen wird. Im folgenden VCL-Beispiel können in einem Verzeichnisdiagramm nur Objekte abgelegt werden, die aus einer Dateiliste stammen:

 procedure TFMForm.DirectoryOutline1DragOver(Sender, Source: TObject; X,
   Y: Integer; State: TDragState; var Accept: Boolean);
 begin
   if Source is TFileListBox then
     Accept := True
   else
     Accept := False;
 end;
void __fastcall TForm1::TreeView1DragOver(TObject *Sender, TObject *Source,
   int X, int Y, TDragState State, bool &Accept)
 {
   if (Source->InheritsFrom(__classid(TFileListBox)))
 }

Siehe auch