IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Drag&Drop d'une image à la manière de l'Explorateur de Windows


Sujet :

Delphi

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 126
    Points : 107
    Points
    107
    Par défaut Drag&Drop d'une image à la manière de l'Explorateur de Windows
    J'ai bien regardé la FAQ mais rien à ce sujet.

    Comment peut-on lors d'un Drag&Drop d'une image -une portion d'un TPaintBox par exemple, pour la replacer à un autre endroit ou dans une autre PaintBox- faire en sorte que lors du déplacement de la souris, à la place de l'image du curseur (ou en plus), l'image en semi-transparence suive le curseur ( à la manière de l'Explorateur de Windows si on y visualise les fichiers sous forme de miniatures)

  2. #2
    Membre confirmé
    Avatar de korntex5
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juin 2004
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 407
    Points : 454
    Points
    454
    Billets dans le blog
    1
    Par défaut
    je pens que si tu regar de du coté de comment dessiner sur le burreau pour voir ton image et de image transparente tu dois trouver ton bonheur
    Que la source soit avec moi!
    Jérôme JEAN-MARAULT

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 126
    Points : 107
    Points
    107
    Par défaut
    Merci pour ta réponse korntex5, mais je ne vois pas très bien ce qu'un dessin sur le bureau peut m'apporter.

    Pour être plus précis je me demande si une façon de régler la chose serait d'attribuer à la souris lors du drag, un curseur qui serait une image miniature semi transparente, et de rétablir ensuite le curseur standard lors du drop.
    Mais je ne sais pas si cela est possible.

  4. #4
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 123
    Points : 132
    Points
    132
    Par défaut
    Tu as meme lu Ceci avant de poster?
    Je vis dans un ghetto sale et repugnant communément appelé "Service informatique".

    Pour ceux qui ne l'ont pas remarqué, je suis gaucher (Fallait le dire plus tôt!!!)

  5. #5
    Membre régulier

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 126
    Points : 107
    Points
    107
    Par défaut
    Citation Envoyé par mayloshi
    Tu as meme lu Ceci avant de poster?
    Oui, bien sûr. C'est un exemple de code (merci à Pierre Castellain pour sa FAQ) qui montre très bien comment faire un Drap&Drop d'un fichier de l'explorateur -sous forme de miniature entre autre- vers une fiche applicative. Mais dès que la souris survole l'application tierce l'image semi-transparente disparaît et néanmoins le drop se fait correctement.

    En fait je voudrais réussir ce type de drag&drop d'une image à l'intérieur d'une application sur une fiche unique ou d'une fiche à une autre.

    Il semble que l'on puisse créer dynamiquement au runtime un curseur (sans passer par les ressources), mais sa taille est peut-être limitée, et de toute façon je ne sais pas comment faire.

  6. #6
    Membre confirmé
    Avatar de korntex5
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juin 2004
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 407
    Points : 454
    Points
    454
    Billets dans le blog
    1
    Par défaut
    alors c bien ce que je dis tu dois pouvoir dessiner dans windows ou tu veux et rafraichir ton dessin allez je t'aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    //a déclarer dans ta unit
     HBureau:THandle;
     HDCBureau:HDC;
     CanvasBureau:TCanvas;
     
    //a executer lors de l'initialisation
     HBureau:=GetDesktopWindow;// récupère le Handle du Bureau
     HDCBureau:=GetWindowDC(HBureau);
     CanvasBureau:=TCanvas.Create;
     CanvasBureau.Handle:=HDCBureau;
     
     
    //exemlpe dessine un trait oblique
    CanvasBureau.MoveTo(Position.X,Position.Y);
     CanvasBureau.LineTo(Position.X+100,Position.Y+100);
     
    //refresh du bureau
    SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
     
    //a mettre dans ton destroy
     ReleaseDC(HBureau,HDCBureau);
     CanvasBureau.free;
    Que la source soit avec moi!
    Jérôme JEAN-MARAULT

  7. #7
    Membre régulier

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 126
    Points : 107
    Points
    107
    Par défaut
    Merci de t'interesser à mon pb, Korntex5.
    Avec ton bout de code, je sais maintenant dessiner ou afficher une image sur le bureau et restituer celui-ci dans son état original, mais cela me mets encore loin de mon objectif de faire un drag&drop transparent d'une image.
    A chaque mouvement de souris je ne pense pas qu'il soit réaliste de réafficher le bureau en entier.

    En fouillant un peu je viens de découvrir qu'il existe une classe TDRAGIMAGELIST qui apparemment est dédiée à cette question. Je vais essayer d'approfondir dans cette voie.

Discussions similaires

  1. Drag and Drop sur une image avec coordonnées générées
    Par psgman113 dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 28/04/2009, 21h58
  2. [SWT/JFACE] Drag and drop avec une image sur le curseur
    Par soft-war dans le forum SWT/JFace
    Réponses: 5
    Dernier message: 30/07/2008, 13h01
  3. Empecher le drag and drop d'une image
    Par gwen_oc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 23/08/2007, 10h55
  4. drag and drop d'une image d'une page web lancée depuis un webbroswer
    Par chrisledeveloppeur2 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 02/01/2007, 15h33
  5. Drag n Drop d'une image
    Par darkian dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/11/2005, 14h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo