Clase CDragListBox
Además de proporcionar la funcionalidad de un cuadro de lista de Windows, la clase CDragListBox
permite al usuario mover elementos del cuadro de lista, tales como nombres de archivo, dentro del cuadro de lista.
Sintaxis
class CDragListBox : public CListBox
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CDragListBox::CDragListBox | Construye un objeto CDragListBox . |
Métodos públicos
Nombre | Descripción |
---|---|
CDragListBox::BeginDrag | Lo llama el marco cuando se inicia una operación de arrastre. |
CDragListBox::CancelDrag | Lo llama el marco cuando una operación de arrastre se cancela. |
CDragListBox::Dragging | Lo llama el marco durante una operación de arrastre. |
CDragListBox::DrawInsert | Dibuja la guía de inserción del cuadro de la lista para arrastrar. |
CDragListBox::Dropped | Lo llama el marco después de colocar el elemento. |
CDragListBox::ItemFromPt | Devuelve las coordenadas del elemento que se está arrastrando. |
Comentarios
Los cuadros de lista con esta capacidad permiten a los usuarios ordenar los elementos de una lista de la manera que les sea más útil. De forma predeterminada, el cuadro de lista moverá el elemento a la nueva ubicación en la lista. Sin embargo, los objetos CDragListBox
se pueden personalizar para copiar elementos en lugar de moverlos.
El control de cuadro de lista asociado con la clase CDragListBox
no debe tener el estilo LBS_SORT ni LBS_MULTIPLESELECT. Para obtener una descripción de los estilos de cuadro de lista, consulte Estilos de cuadro de lista.
Para usar un cuadro de lista por arrastrar en un cuadro de diálogo existente de su aplicación, agregue un control de cuadro de lista a la plantilla de diálogo mediante el editor de diálogos y, a continuación, asigne una variable miembro (de categoría Control
y tipo de variable CDragListBox
) correspondiente al control de cuadro de lista en su plantilla de diálogo.
Para obtener más información sobre cómo asignar controles a variables miembro, consulte Acceso directo a la definición de variables miembro para controles de cuadro de diálogo.
Jerarquía de herencia
CDragListBox
Requisitos
Encabezado: afxcmn.h
CDragListBox::BeginDrag
Lo llama el marco cuando se produce un evento que podría iniciar una operación de arrastre, como presionar el botón izquierdo del mouse.
virtual BOOL BeginDrag(CPoint pt);
Parámetros
pt
Un objeto CPoint que contiene las coordenadas del elemento que se está arrastrando.
Valor devuelto
Distinto de cero si se permite arrastrar, en caso contrario, 0.
Comentarios
Invalide esta función si desea controlar lo que sucede cuando comienza una operación de arrastre. La implementación predeterminada captura el mouse y permanece en modo de arrastre hasta que el usuario hace clic con el botón izquierdo o derecho del mouse o presiona ESC, en cuyo momento se cancela la operación de arrastre.
CDragListBox::CancelDrag
Lo llama el marco cuando una operación de arrastre se cancela.
virtual void CancelDrag(CPoint pt);
Parámetros
pt
Un objeto CPoint que contiene las coordenadas del elemento que se está arrastrando.
Comentarios
Invalide esta función para controlar cualquier procesamiento especial de su control de cuadro de lista.
CDragListBox::CDragListBox
Construye un objeto CDragListBox
.
CDragListBox();
CDragListBox::Dragging
Lo llama el marco cuando se arrastra un elemento del cuadro de lista dentro del objeto CDragListBox
.
virtual UINT Dragging(CPoint pt);
Parámetros
pt
Especifica un objeto CPoint que contiene las coordenadas de pantalla x e y del cursor.
Valor devuelto
El id. de recurso del cursor que se mostrará. Los siguientes valores posibles son posibles:
DL_COPYCURSOR Indica que se copiará el elemento.
DL_MOVECURSOR Indica que se moverá el elemento.
DL_STOPCURSOR Indica que el destino de colocación actual no es aceptable.
Comentarios
El comportamiento predeterminado devuelve DL_MOVECURSOR. Invalide esta función si desea proporcionar funcionalidad adicional.
CDragListBox::DrawInsert
Lo llama el marco para dibujar la guía de inserción antes del elemento con el índice indicado.
virtual void DrawInsert(int nItem);
Parámetros
nItem
Índice de base cero del punto de inserción.
Comentarios
Un valor de - 1 borra la guía de inserción. Invalide esta función para modificar la apariencia o el comportamiento de la guía de inserción.
CDragListBox::Dropped
Lo llama el marco cuando un elemento se quita dentro de un objeto CDragListBox
.
virtual void Dropped(
int nSrcIndex,
CPoint pt);
Parámetros
nSrcIndex
Especifica el índice de base cero de la cadena colocada.
pt
Un objeto CPoint que contiene las coordenadas del sitio de colocación.
Comentarios
El comportamiento predeterminado copia el elemento del cuadro de lista y sus datos en la nueva ubicación y, a continuación, elimina el elemento original. Invalide esta función para personalizar el comportamiento predeterminado, como permitir que se arrastren copias de elementos del cuadro de lista a otras ubicaciones de la lista.
CDragListBox::ItemFromPt
Llame a esta función para recuperar el índice de base cero del elemento del cuadro de lista ubicado en pt.
int ItemFromPt(
CPoint pt,
BOOL bAutoScroll = TRUE) const;
Parámetros
pt
Un objeto CPoint que contiene las coordenadas de un punto dentro del cuadro de lista.
bAutoScroll
Distinto de cero si se permite el desplazamiento; de lo contrario, 0.
Valor devuelto
Índice de base cero del elemento del cuadro de lista por arrastrar.
Consulte también
MFC Sample TSTCON
CListBox (clase)
Gráfico de jerarquías
CListBox (clase)