Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kontrolka drzewa (CTreeCtrl) wysyła powiadomienie, gdy użytkownik zacznie przeciągać element. Kontrolka wysyła komunikat powiadomienia TVN_BEGINDRAG , gdy użytkownik zacznie przeciągać element za pomocą lewego przycisku myszy i komunikat powiadomienia TVN_BEGINRDRAG , gdy użytkownik zacznie przeciągać prawym przyciskiem. Możesz zapobiec wysyłaniu tych powiadomień przez kontrolkę drzewa, nadając kontrolce drzewa styl TVS_DISABLEDRAGDROP.
Obraz do wyświetlenia podczas operacji przeciągania można uzyskać, wywołując funkcję składową CreateDragImage . Kontrolka drzewa tworzy przeciągającą mapę bitową na podstawie etykiety przeciąganego elementu. Następnie kontrolka drzewa tworzy listę obrazów, dodaje do niej mapę bitową i zwraca wskaźnik do obiektu CImageList .
Musisz podać kod, który faktycznie przeciąga element. Zwykle wiąże się to z użyciem funkcji przeciągania funkcji listy obrazów i przetwarzania WM_MOUSEMOVE i WM_LBUTTONUP (lub WM_RBUTTONUP) komunikatów wysyłanych po rozpoczęciu operacji przeciągania. Aby uzyskać więcej informacji na temat funkcji listy obrazów, zobacz CImageList w Referencji MFC i Listach obrazów w zestawie Windows SDK. Aby uzyskać więcej informacji na temat przeciągania elementu kontrolki drzewa, zobacz Przeciąganie elementu widoku drzewa, również w zestawie SDK systemu Windows.
Jeśli elementy w kontrolce drzewa mają być elementami docelowymi operacji przeciągania i upuszczania, musisz wiedzieć, kiedy kursor myszy znajduje się na elemencie docelowym. Możesz dowiedzieć się, wywołując funkcję składową HitTest . Należy określić punkt i liczbę całkowitą lub adres struktury TVHITTESTINFO , która zawiera bieżące współrzędne kursora myszy. Po powrocie funkcji liczba całkowita lub struktura zawiera flagę wskazującą lokalizację kursora myszy względem kontrolki drzewa. Jeśli kursor znajduje się nad elementem w kontrolce drzewa, struktura zawiera również uchwyt elementu.
Możesz wskazać, że element jest celem operacji przeciągania i upuszczania, wywołując funkcję składową SetItem, aby ustawić stan na wartość TVIS_DROPHILITED
. Element o tym stanie jest rysowany w stylu używanym do wskazywania obiektu docelowego przeciągania i upuszczania.