Przeciąganie i upuszczanie: implementowanie miejsca docelowego
W tym artykule omówiono, jak zwiększyć bezpieczeństwo aplikacji miejsce docelowe upuszczenia.Wykonania miejsca docelowego upuszczania zajmuje nieco więcej pracy niż wykonawczych upuszczania źródła, ale jest nadal stosunkowo proste.Techniki te stosuje się także do aplikacji-OLE.
Aby zaimplementować miejsce docelowe upuszczania.
Dodaj zmienną do każdego widoku w aplikacji, która ma być miejsce docelowe upuszczenia.Ta zmienna członka musi być typu COleDropTarget lub Klasa pochodna od niego.
Z funkcji swojej klasy widoku, który obsługuje WM_CREATE wiadomości (zazwyczaj OnCreate), wywołać nową zmienną Państwa Register funkcji składowej.Revokezostanie wywołana automatycznie dla Ciebie, gdy widok ulega zniszczeniu.
Zastąpić następujące funkcje.Jeśli mają takie samo zachowanie całej aplikacji zastępują te funkcje w klasie widoku.Aby zmodyfikować zachowanie w niektórych przypadkach lub aby umożliwić upuszczenie na non -CView windows, zastępują te funkcje w swojej COleDropTarget-klasy.
Zastąp
Aby umożliwić
OnDragEnter
Usuwanie operacji występuje w oknie.Wywoływane, gdy kursor po raz pierwszy wkracza okna.
OnDragLeave
Szczególne zachowanie podczas operacji przeciągania pozostawia określonego okna.
OnDragOver
Usuwanie operacji występuje w oknie.Wywoływane, gdy kursor jest przeciągany w oknie.
OnDrop
Obsługa danych upuszczeniem go do określonego okna.
OnScrollBy
Specjalnego zachowania podczas przewijania jest niezbędne w oknie docelowym.
Zobacz MAINVIEW.CPP plik część próbki MFC OLE OCLIENT na przykład jak funkcje te działają razem.
Aby uzyskać więcej informacji, zobacz: