Herausziehen von Bildern aus einer Bildliste
CImageList enthält Funktionen zum Ziehen eines Bilds auf dem Bildschirm ein. Die ziehenden Funktionen verschieben ein Bild in reibungslos, Farbe und ohne Multilingual des Cursors blinkt. Können maskierte und entlarvte Bilder gezogen werden.
Die BeginDrag-Memberfunktion startet einen Ziehvorgang. Die Parameter enthalten den Index des Bilds, um zu ziehen und den Speicherort des Hotspots innerhalb des Bilds. Der Hotspot ist ein einzelnes Pixel, das die Funktionen als genaue ziehenden die Bildschirmposition des Bilds erkennen. Normalerweise legt eine Anwendung den Hotspot, sodass diese mit dem Hotspot des Mauszeigers entspricht. Die DragMove-Memberfunktion bewegt das Bild auf eine neue Position.
Die DragEnter-Memberfunktion wird die Anfangsposition des Ziehbilds in einem Fenster fest und zeichnet das Bild an der Position. Die Parameter beinhalten einen Zeiger auf das Fenster, in dem das Bild und einen Punkt zeichnen, der Koordinaten der Anfangsposition innerhalb des Fensters angibt. Die Koordinaten sind relativ zur linken oberen Ecke des Fensters, nicht der Clientbereich. Das gilt für alle Bild-Ziehen funktioniert erfüllt, dass Verwendet als Parameter koordiniert. Dies bedeutet, dass Sie die Breite von Fensterelementen, beispielsweise Rahmen, der Titelleiste und der Menüleiste es müssen, wenn Sie die Koordinaten der Stelle angeben. Wenn Sie einem Fensterhandle NULL angeben, wenn Sie auf, rufen DragEnter, zeichnen die ziehenden Funktionen das Bild im Gerätekontext, der dem im Desktopfenster zugeordnet ist, und die Koordinaten sind relativ zur linken oberen Ecke des Bildschirms.
DragEnter sperrt alle anderen Aktualisierungen am angegebenen Fenster während des Ziehvorgangs. Wenn Sie eine beliebige Zeichnung während eines Ziehvorgangs, wie Hervorheben des Ziels eines Drag & Drop-Vorgangs ausführen müssen, können Sie das gezogene Bild vorübergehend ausblenden, indem Sie die Memberfunktion DragLeave verwenden. Sie können die DragShowNoLock-Memberfunktion auch verwenden.
Rufen Sie EndDrag auf, wenn Sie das Bild " erfolgen.
Die Memberfunktion SetDragCursorImage erstellt ein neues Ziehbild, indem die angegebene Abbildung (in der Regel ein Mauszeigerbild) mit dem aktuellen Ziehbild kombiniert. Da die neue ziehenden Funktionen das Bild während eines Ziehvorgangs verwenden, sollten Sie der Windows-Funktion ShowCursor verwenden, um den tatsächlichen Mauszeiger auszublenden, nachdem Sie SetDragCursorImage aufgerufen haben. Andernfalls wird möglicherweise das System, zwei Mauszeiger für die Dauer des Ziehvorgangs zu haben.
Wenn eine Anwendung BeginDrag aufruft, erstellt das System eine temporäre, interne Bildliste und Default.css das angegebene Ziehbild zur internen Liste. Sie können einen Zeiger auf die temporären Ziehbildliste abrufen, indem Sie die Memberfunktion GetDragImage verwenden. Die Funktion ruft außerdem die aktuelle Ziehposition und den Offset des Ziehbilds relativ zur Ziehposition ab.