从图像拖动的图像列表
CImageList 包括拖动一个图形功能在屏幕上。 拖动的功能移动图像成功,颜色和,不进行任何闪烁的光标。 掩码和撕下伪面具的图像可以拖动。
BeginDrag 成员函数开始拖动操作。 参数包括图像的索引、拖动和作用点的位置在图像中。 作用点是拖动的功能识别为该图形的确切的屏幕位置的一个像素。 通常,应用程序设置作用点,以便用鼠标光标的作用点匹配。 DragMove 成员函数移到图像新位置。
DragEnter 成员函数上设置拖动图像的初始位置在窗口中并绘制图像位于该位置。 参数包含一个指向绘制图像和点指定初始位置坐标窗口中的窗口。 坐标系是相对于窗口左上角的,而不是工作区。 上述情况同样适用于坐标采用作为参数的任何图像拖动的功能。 这意味着您必须抵消窗口元素的宽度,例如边框、标题栏和菜单栏,那么,当指定坐标。 如果指定 NULL 窗口句柄,当调用时 DragEnter,拖动的功能在设备上下文绘制图像与桌面窗口,并且,坐标系是相对于屏幕的左上角。
DragEnter 锁定其他更新到特定窗口在拖动操作过程。 如果需要在拖动操作时执行任何绘制,如显示拖放操作的目标,可以使用 DragLeave 成员函数,您可以暂时隐藏被拖动的图像。 还可以使用 DragShowNoLock 成员函数。
,它在执行时将该图像时,应调用 EndDrag 。
SetDragCursorImage 成员函数通过将特定图像生成新的拖动图像 (通常为鼠标光标图像) 与当前拖动图像。 由于拖动的功能在拖动操作过程使用新图像,应使用 windows ShowCursor 功能在调用 SetDragCursorImage后隐藏实际鼠标光标。 否则,系统可能看起来具有拖动操作期间将两个鼠标光标。
当应用程序调用 BeginDrag时,系统中创建一个临时,内部图像列表,并对内部的指定拖动图像列表的副本。 使用 GetDragImage 成员函数,可以检索指向临时拖动图像列表。 函数来检索当前位置拖动和拖动图像的偏移量相对于拖动位置。