Udostępnij przez


Przeciągnij obowiązki źródła

Źródło przeciągania odpowiada za następujące zadania:

  • Udostępnianie obiektu transferu danych dla obiektu docelowego upuszczania, który uwidacznia interfejsy IDataObject i IDropSourceIDropSource.
  • Generowanie wskaźnika i opinii źródłowej.
  • Określanie, kiedy operacja przeciągania została anulowana lub wystąpiła operacja upuszczania.
  • Wykonywanie dowolnej akcji na oryginalnych danych spowodowanych operacją upuszczania, na przykład usunięcie danych lub utworzenie łącza do niego.

Głównym zadaniem jest utworzenie obiektu transferu danych, który uwidacznia interfejsy IDataObject i IDropSource. Źródło przeciągania może lub nie może zawierać kopii wybranych danych. Uwzględnienie go nie jest obowiązkowe, ale pomaga chronić przed niezamierzone zmiany i pozwala kodowi operacji Schowka być identyczne z kodem przeciągania i upuszczania.

Podczas gdy operacja przeciągania jest w toku, źródło przeciągania jest odpowiedzialne za ustawienie wskaźnika myszy i, jeśli jest to konieczne, w celu dostarczenia dodatkowej opinii źródłowej użytkownikowi. Źródło przeciągania nie może przekazać żadnych informacji zwrotnych, które śledzą położenie myszy inne niż przez ustawienie rzeczywistego wskaźnika (zobacz funkcję SetCursor). Ta reguła musi być wymuszana, aby uniknąć konfliktów z opiniami dostarczonymi przez cel upuszczania. (Źródło przeciągania może być również obiektem docelowym upuszczania. Przy upuszczaniu się na siebie źródło/cel może oczywiście przekazać opinię docelową w celu śledzenia położenia myszy. W tym przypadku jednak jest to cel upuszczania śledzenia myszy, a nie źródła. Na podstawie opinii oferowanych przez cel upuszczania źródło ustawia odpowiedni wskaźnik.

przeciąganie i upuszczanie