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à
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