Partager via


CDragListBox, classe

En plus de fournir les fonctionnalités d’une zone de liste Windows, la CDragListBox classe permet à l’utilisateur de déplacer des éléments de zone de liste, tels que des noms de fichiers, dans la zone de liste.

Syntaxe

class CDragListBox : public CListBox

Membres

Constructeurs publics

Nom Description
CDragListBox ::CDragListBox Construit un objet CDragListBox.

Méthodes publiques

Nom Description
CDragListBox ::BeginDrag Appelé par l’infrastructure lorsqu’une opération de glissement démarre.
CDragListBox ::CancelDrag Appelé par l’infrastructure lorsqu’une opération de glissement a été annulée.
CDragListBox ::D ragging Appelé par l’infrastructure pendant une opération de glissement.
CDragListBox ::D rawInsert Dessine le repère d’insertion de la zone de liste glisser.
CDragListBox ::D ropped Appelé par l’infrastructure après la suppression de l’élément.
CDragListBox ::ItemFromPt Retourne les coordonnées de l’élément en cours de déplacement.

Notes

Les zones de liste avec cette fonctionnalité permettent aux utilisateurs de classer les éléments d’une liste de manière la plus utile. Par défaut, la zone de liste déplace l’élément vers le nouvel emplacement de la liste. Toutefois, CDragListBox les objets peuvent être personnalisés pour copier des éléments au lieu de les déplacer.

Le contrôle de zone de liste associé à la CDragListBox classe ne doit pas avoir le style LBS_SORT ou LBS_MULTIPLESELECT. Pour obtenir une description des styles de zone de liste, consultez Styles de zone de liste.

Pour utiliser une zone de liste glisser dans une boîte de dialogue existante de votre application, ajoutez un contrôle de zone de liste à votre modèle de boîte de dialogue à l’aide de l’éditeur de boîte de dialogue, puis affectez une variable membre (de catégorie Control et de type CDragListBoxde variable) correspondant au contrôle de zone de liste dans votre modèle de boîte de dialogue.

Pour plus d’informations sur l’attribution de contrôles à des variables membres, consultez Raccourci pour définir des variables de membre pour les contrôles de boîte de dialogue.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CListBox

CDragListBox

Spécifications

En-tête : afxcmn.h

CDragListBox ::BeginDrag

Appelé par l’infrastructure lorsqu’un événement se produit qui peut commencer une opération de glissement, par exemple en appuyant sur le bouton gauche de la souris.

virtual BOOL BeginDrag(CPoint pt);

Paramètres

pt
Objet CPoint qui contient les coordonnées de l’élément en cours de déplacement.

Valeur de retour

Différent de zéro si le glissement est autorisé, sinon 0.

Notes

Remplacez cette fonction si vous souhaitez contrôler ce qui se passe lorsqu’une opération de glissement commence. L’implémentation par défaut capture la souris et reste en mode glisser jusqu’à ce que l’utilisateur clique sur le bouton gauche ou droit de la souris ou appuie sur Échap, à quel moment l’opération de glisser est annulée.

CDragListBox ::CancelDrag

Appelé par l’infrastructure lorsqu’une opération de glissement a été annulée.

virtual void CancelDrag(CPoint pt);

Paramètres

pt
Objet CPoint qui contient les coordonnées de l’élément en cours de déplacement.

Notes

Remplacez cette fonction pour gérer tout traitement spécial pour votre contrôle de zone de liste.

CDragListBox ::CDragListBox

Construit un objet CDragListBox.

CDragListBox();

CDragListBox ::D ragging

Appelé par l’infrastructure lorsqu’un élément de zone de liste est déplacé dans l’objet CDragListBox .

virtual UINT Dragging(CPoint pt);

Paramètres

pt
Objet CPoint qui contient les coordonnées de l’écran x et y du curseur.

Valeur de retour

ID de ressource du curseur à afficher. Les valeurs suivantes sont possibles :

  • DL_COPYCURSOR Indique que l’élément sera copié.

  • DL_MOVECURSOR Indique que l’élément sera déplacé.

  • DL_STOPCURSOR Indique que la cible de suppression actuelle n’est pas acceptable.

Notes

Le comportement par défaut retourne DL_MOVECURSOR. Remplacez cette fonction si vous souhaitez fournir des fonctionnalités supplémentaires.

CDragListBox ::D rawInsert

Appelé par l’infrastructure pour dessiner le repère d’insertion avant l’élément avec l’index indiqué.

virtual void DrawInsert(int nItem);

Paramètres

nItem
Index de base zéro du point d’insertion.

Notes

La valeur - 1 efface le repère d’insertion. Remplacez cette fonction pour modifier l’apparence ou le comportement du repère d’insertion.

CDragListBox ::D ropped

Appelé par l’infrastructure lorsqu’un élément est supprimé dans un CDragListBox objet.

virtual void Dropped(
    int nSrcIndex,
    CPoint pt);

Paramètres

nSrcIndex
Spécifie l’index de base zéro de la chaîne supprimée.

pt
Objet CPoint qui contient les coordonnées du site de dépôt.

Notes

Le comportement par défaut copie l’élément de zone de liste et ses données vers le nouvel emplacement, puis supprime l’élément d’origine. Remplacez cette fonction pour personnaliser le comportement par défaut, par exemple l’activation des copies des éléments de zone de liste à glisser vers d’autres emplacements de la liste.

CDragListBox ::ItemFromPt

Appelez cette fonction pour récupérer l’index de base zéro de l’élément de zone de liste situé à pt.

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

Paramètres

pt
Objet CPoint contenant les coordonnées d’un point dans la zone de liste.

bAutoScroll
Différent de zéro si le défilement est autorisé, sinon 0.

Valeur de retour

Index de base zéro de l’élément de zone de liste glisser.

Voir aussi

Exemple TSTCON MFC
CListBox, classe
Graphique hiérarchique
CListBox, classe