Condividi tramite


Classe CDragListBox

Oltre a fornire la funzionalità di una casella di riepilogo di Windows, la CDragListBox classe consente all'utente di spostare voci della casella di riepilogo, ad esempio nomi file, all'interno della casella di riepilogo.

Sintassi

class CDragListBox : public CListBox

Membri

Costruttori pubblici

Nome Descrizione
CDragListBox::CDragListBox Costruisce un oggetto CDragListBox.

Metodi pubblici

Nome Descrizione
CDragListBox::BeginDrag Chiamato dal framework all'avvio di un'operazione di trascinamento.
CDragListBox::CancelDrag Chiamato dal framework quando un'operazione di trascinamento è stata annullata.
CDragListBox::D ragging Chiamato dal framework durante un'operazione di trascinamento.
CDragListBox::D rawInsert Disegna la guida di inserimento della casella di riepilogo di trascinamento.
CDragListBox::D ropped Chiamato dal framework dopo l'eliminazione dell'elemento.
CDragListBox::ItemFromPt Restituisce le coordinate dell'elemento trascinato.

Osservazioni:

Le caselle di riepilogo con questa funzionalità consentono agli utenti di ordinare gli elementi in un elenco in qualsiasi modo sia più utile per loro. Per impostazione predefinita, la casella di riepilogo sposta l'elemento nella nuova posizione nell'elenco. Tuttavia, CDragListBox gli oggetti possono essere personalizzati per copiare gli elementi anziché spostarli.

Il controllo casella di riepilogo associato CDragListBox alla classe non deve avere il LBS_SORT o lo stile di LBS_MULTIPLESELECT. Per una descrizione degli stili delle caselle di riepilogo, vedere Stili casella di riepilogo.

Per usare una casella di riepilogo di trascinamento in una finestra di dialogo esistente dell'applicazione, aggiungere un controllo casella di riepilogo al modello di finestra di dialogo usando l'editor della finestra di dialogo e quindi assegnare una variabile membro (di tipo categoria Control e variabile CDragListBox) corrispondente al controllo casella di riepilogo nel modello di finestra di dialogo.

Per altre informazioni sull'assegnazione di controlli alle variabili membro, vedere Collegamento per la definizione delle variabili membro per i controlli finestra di dialogo.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CListBox

CDragListBox

Requisiti

Intestazione: afxcmn.h

CDragListBox::BeginDrag

Chiamato dal framework quando si verifica un evento che potrebbe avviare un'operazione di trascinamento, ad esempio premendo il pulsante sinistro del mouse.

virtual BOOL BeginDrag(CPoint pt);

Parametri

pt
Oggetto CPoint che contiene le coordinate dell'elemento trascinato.

Valore restituito

Diverso da zero se il trascinamento è consentito; in caso contrario, 0.

Osservazioni:

Eseguire l'override di questa funzione se si desidera controllare cosa accade all'avvio di un'operazione di trascinamento. L'implementazione predefinita acquisisce il mouse e rimane in modalità di trascinamento finché l'utente non fa clic sul pulsante sinistro o destro del mouse o preme ESC, al momento in cui l'operazione di trascinamento viene annullata.

CDragListBox::CancelDrag

Chiamato dal framework quando un'operazione di trascinamento è stata annullata.

virtual void CancelDrag(CPoint pt);

Parametri

pt
Oggetto CPoint che contiene le coordinate dell'elemento trascinato.

Osservazioni:

Eseguire l'override di questa funzione per gestire qualsiasi elaborazione speciale per il controllo casella di riepilogo.

CDragListBox::CDragListBox

Costruisce un oggetto CDragListBox.

CDragListBox();

CDragListBox::D ragging

Chiamato dal framework quando un elemento della casella di riepilogo viene trascinato all'interno dell'oggetto CDragListBox .

virtual UINT Dragging(CPoint pt);

Parametri

pt
Oggetto CPoint che contiene le coordinate dello schermo x e y del cursore.

Valore restituito

ID risorsa del cursore da visualizzare. Sono possibili i valori seguenti:

  • DL_COPYCURSOR Indica che l'elemento verrà copiato.

  • DL_MOVECURSOR Indica che l'elemento verrà spostato.

  • DL_STOPCURSOR Indica che la destinazione di rilascio corrente non è accettabile.

Osservazioni:

Il comportamento predefinito restituisce DL_MOVECURSOR. Eseguire l'override di questa funzione se si desidera fornire funzionalità aggiuntive.

CDragListBox::D rawInsert

Chiamato dal framework per disegnare la guida di inserimento prima dell'elemento con l'indice indicato.

virtual void DrawInsert(int nItem);

Parametri

nItem
Indice in base zero del punto di inserimento.

Osservazioni:

Il valore - 1 cancella la guida di inserimento. Eseguire l'override di questa funzione per modificare l'aspetto o il comportamento della guida di inserimento.

CDragListBox::D ropped

Chiamato dal framework quando un elemento viene eliminato all'interno di un CDragListBox oggetto .

virtual void Dropped(
    int nSrcIndex,
    CPoint pt);

Parametri

nSrcIndex
Specifica l'indice in base zero della stringa eliminata.

pt
Oggetto CPoint che contiene le coordinate del sito di rilascio.

Osservazioni:

Il comportamento predefinito copia l'elemento della casella di riepilogo e i relativi dati nella nuova posizione e quindi elimina l'elemento originale. Eseguire l'override di questa funzione per personalizzare il comportamento predefinito, ad esempio l'abilitazione del trascinamento delle copie degli elementi delle caselle di riepilogo in altre posizioni all'interno dell'elenco.

CDragListBox::ItemFromPt

Chiamare questa funzione per recuperare l'indice in base zero dell'elemento della casella di riepilogo che si trova in pt.

int ItemFromPt(
    CPoint pt,
    BOOL bAutoScroll = TRUE) const;

Parametri

pt
Oggetto CPoint contenente le coordinate di un punto all'interno della casella di riepilogo.

bAutoScroll
Diverso da zero se lo scorrimento è consentito; in caso contrario, 0.

Valore restituito

Indice in base zero dell'elemento della casella di riepilogo di trascinamento.

Vedi anche

TSTCON di esempio MFC
Classe CListBox
Grafico della gerarchia
Classe CListBox