Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un contrôle d’arborescence (CTreeCtrl) envoie une notification lorsque l’utilisateur commence à faire glisser un élément. Le contrôle envoie un message de notification TVN_BEGINDRAG lorsque l’utilisateur commence à faire glisser un élément avec le bouton gauche de la souris et un message de notification TVN_BEGINRDRAG lorsque l’utilisateur commence à faire glisser avec le bouton droit. Vous pouvez empêcher un contrôle d’arborescence d’envoyer ces notifications en donnant au contrôle d’arborescence le style TVS_DISABLEDRAGDROP.
Vous obtenez une image à afficher pendant une opération de glisser en appelant la fonction membre CreateDragImage. L’arborescence crée une image bitmap de glissement basée sur le nom de l’élément déplacé. Ensuite, le contrôle d’arborescence crée une liste d’images, y ajoute la bitmap et retourne un pointeur vers l’objet CImageList .
Vous devez fournir le code qui fait glisser l’élément. Cela implique généralement l’utilisation des fonctionnalités de glissement des fonctions de liste d’images et le traitement des messages WM_MOUSEMOVE et WM_LBUTTONUP (ou WM_RBUTTONUP) envoyés après le début de l’opération de glissement. Pour plus d’informations sur les fonctions de liste d’images, consultez CImageList dans la référence MFC et les listes d’images dans le Kit de développement logiciel (SDK) Windows. Pour plus d’informations sur le glissement d’un élément de contrôle d’arborescence, consultez Faire glisser l’élément d’arborescence, également dans le Kit de développement logiciel (SDK) Windows.
Si les éléments d’un contrôle d’arborescence doivent être les cibles d’une opération de glisser-déplacer, vous devez savoir quand le curseur de la souris se trouve sur un élément cible. Vous pouvez le savoir en appelant la fonction membre HitTest . Vous spécifiez un point et un entier, ou l’adresse d’une structure TVHITTESTINFO qui contient les coordonnées actuelles du curseur de la souris. Lorsque la fonction est retournée, l’entier ou la structure contient un indicateur indiquant l’emplacement du curseur de la souris par rapport au contrôle d’arborescence. Si le curseur est sur un élément de l’arborescence, la structure contiendra également le handle de l’élément.
Vous pouvez indiquer qu’un élément est la cible d’une opération de glisser-déposer en appelant la fonction membre SetItem pour définir l'état à la valeur TVIS_DROPHILITED. Un élément avec cet état est dessiné dans le style utilisé pour indiquer une cible de glissement-déplacement.