Przeciąganie i upuszczanie: dostosowywanie
Domyślna implementacja funkcji przeciągania i upuszczania jest wystarczająca dla większości aplikacji.Jednak niektóre aplikacje mogą wymagać zmienić to zachowanie standardowe.Ten artykuł wyjaśnia konieczne kroki, aby zmienić te ustawienia domyślne.Ponadto można użyć tej techniki ustalenie aplikacji, które nie obsługują złożonych dokumentów jako źródła upuszczania.
Jeśli dostosowywania zachowania Przeciągnij i upuść zgodnego ze standardem OLE lub aplikacja-OLE, należy utworzyć COleDataSource będzie zawierał dane.Gdy użytkownik uruchamia operacji przeciągania i upuszczania, kod powinien wywoływać DoDragDrop funkcji z tego obiektu, a nie z innych klas, które obsługują operacje przeciągania i upuszczania.
Opcjonalnie można utworzyć COleDropSource obiekt, aby kontrolować spadek i zastępowania niektórych jego funkcji, w zależności od typu zachowanie które chcesz zmienić.Ten obiekt upuszczania źródła jest następnie przekazywany do COleDataSource::DoDragDrop Aby zmienić domyślne zachowanie tych funkcji.Te różne opcje umożliwiają dużą elastyczność obsługi operacji przeciągania i upuszczania w aplikacji.Aby uzyskać więcej informacji na temat źródeł danych, zobacz artykuł obiekty danych i źródeł danych (OLE).
Można zastąpić następujące funkcje do odpowiedniego dostosowania operacji przeciągania i upuszczania:
Zastąp |
Aby dostosować |
---|---|
OnBeginDrag |
Jak przeciąganie jest inicjowany po wywołaniu DoDragDrop. |
GiveFeedback |
Wizualne, takie jak wygląd kursora, drop różne wyniki. |
QueryContinueDrag |
Zakończenie operacji przeciągania i upuszczania.Ta funkcja umożliwia sprawdzanie stanów kluczowych modyfikator podczas operacji przeciągania. |