Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Obiekt CImageList zawiera funkcje przeciągania obrazu na ekranie. Funkcje przeciągania przesuwają obraz płynnie, w kolorze i bez migotania kursora. Zarówno maskowane, jak i niemaskowane obrazy można przeciągać.
Funkcja członkowska BeginDrag rozpoczyna operację przeciągania. Parametry obejmują indeks obrazu do przeciągania i lokalizacji punktu gorącego na obrazie. Punkt gorąca to pojedynczy piksel, który funkcje przeciągania rozpoznają jako dokładną lokalizację ekranu obrazu. Zazwyczaj aplikacja ustawia punkt gorąca, tak aby pokrywała się z gorącym punktem kursora myszy. Funkcja składowa DragMove przenosi obraz do nowej lokalizacji.
Funkcja składowa DragEnter ustawia początkową pozycję obrazu przeciągania w oknie i rysuje obraz w tej pozycji. Parametry zawierają wskaźnik do okna, w którym ma być rysowanie obrazu i punkt określający współrzędne pozycji początkowej w oknie. Współrzędne są określone w stosunku do lewego górnego rogu okna, a nie obszaru roboczego. To samo dotyczy wszystkich funkcji przeciągania obrazów, które przyjmują współrzędne jako parametry. Oznacza to, że podczas określania współrzędnych należy zrekompensować szerokość elementów okna, takich jak obramowanie, pasek tytułu i pasek menu. W przypadku gdy określisz uchwyt okna NULL podczas wywoływania DragEnter, funkcje przeciągania rysują obraz w kontekście urządzenia skojarzonego z oknem pulpitu, a współrzędne są względem lewego górnego rogu ekranu.
DragEnter blokuje wszystkie inne aktualizacje danego okna podczas operacji przeciągania. Jeśli podczas operacji przeciągania musisz wykonać dowolny rysunek, taki jak wyróżnianie celu operacji przeciągania i upuszczania, możesz tymczasowo ukryć przeciągnięty obraz za pomocą funkcji składowej DragLeave . Można również użyć funkcji składowej DragShowNoLock .
Wywołaj metodę EndDrag po zakończeniu przeciągania obrazu.
Funkcja składowa SetDragCursorImage tworzy nowy obraz przeciągania, łącząc dany obraz (zazwyczaj obraz kursora myszy) z bieżącym obrazem przeciągania. Ponieważ funkcje przeciągania używają nowego obrazu podczas operacji przeciągania, należy użyć funkcji Windows ShowCursor , aby ukryć rzeczywisty kursor myszy po wywołaniu metody SetDragCursorImage. W przeciwnym razie system może wydawać się mieć dwa kursory myszy na czas trwania operacji przeciągania.
Gdy aplikacja wywołuje BeginDrag, system tworzy tymczasową, wewnętrzną listę obrazów i kopiuje określony obraz do listy wewnętrznej. Wskaźnik do tymczasowej listy obrazów dla operacji przeciągania można pobrać przy użyciu funkcji składowej GetDragImage. Funkcja pobiera również aktualną pozycję przeciągania oraz przesunięcie obrazu przeciągania względem tej pozycji.