Compartir a través de


Arrastrar responsabilidades de origen

El origen de arrastre es responsable de las siguientes tareas:

  • Proporcionar un objeto de transferencia de datos para el destino de colocación que expone las interfaces de IDataObject y IDropSource.
  • Generación de punteros y comentarios de origen.
  • Determinar cuándo se ha cancelado la operación de arrastrar o se ha producido una operación de colocación.
  • Realizar cualquier acción en los datos originales causados por la operación de eliminación, como eliminar los datos o crear un vínculo a él.

La tarea principal consiste en crear un objeto de transferencia de datos que expone las interfaces deIDataObjecty IDropSource. El origen de arrastre podría incluir o no una copia de los datos seleccionados. Incluirlo no es obligatorio, pero hacerlo ayuda a protegerse frente a cambios accidentales y permite que el código de operaciones del Portapapeles sea idéntico al código de arrastrar y colocar.

Mientras una operación de arrastre está en curso, el origen de arrastre es responsable de establecer el puntero del mouse y, si procede, para proporcionar comentarios de origen adicionales al usuario. El origen de arrastre no puede proporcionar ningún comentario que realice un seguimiento de la posición del mouse que no sea estableciendo realmente el puntero real (consulte la función SetCursor). Esta regla debe aplicarse para evitar conflictos con los comentarios proporcionados por el destino de eliminación. (Un origen de arrastre también puede ser un destino de colocación. Al colocarse en sí mismo, el origen o destino puede, por supuesto, proporcionar comentarios de destino para realizar un seguimiento de la posición del mouse. En este caso, sin embargo, es el destino de colocación que realiza el seguimiento del mouse, no el origen). En función de los comentarios ofrecidos por el destino de colocación, el origen establece un puntero adecuado.

arrastrar y colocar