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 CDragListBox
de 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
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