Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre régulier Avatar de retwas
    Homme Profil pro Robin
    Développeur informatique
    Inscrit en
    mars 2010
    Messages
    227
    Détails du profil
    Informations personnelles :
    Nom : Homme Robin
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2010
    Messages : 227
    Points : 81
    Points
    81

    Par défaut DragDrop objet crée dynamiquement

    Bonjour,

    Sur une TForm j'ai un TImage et un TButton.

    Quand je clic sur mon bouton un TImage est crée dynamiquement.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
       with TImage.Create(Self) do
       begin
          Parent  := Self;
          Name    := randomString(8);
          Width   := 33;
          Height  := 33;
          Left    := Random(4);
          Picture := Image1.Picture;
       end;
    Le problème c'est que je souhaite faire du DragDrop avec ce nouveau TImage. L’évènement onMouseMove ne redonne pas mon TImage comme Sender quand je passe dessus..

    Pouvez-vous m'aider ?

    Merci

  2. #2
    Expert Confirmé Sénior Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    10 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 10 012
    Points : 12 800
    Points
    12 800

    Par défaut

    Si c'est le TButton qui instancie le TImage, le OnMouseMove va pointer sur TButton le temps du clic puis changera en fonction des TControl présents

    Pour que le TImage gère le Move, il te manque du code, tu n'affectes pas de Gestionnaire, il ne peut donc pas appeler la méthode !

    Code :
    1
    2
    3
    4
    5
    6
       with TImage.Create(Self) do
       begin
          Parent  := Self;
          OnMouseMove := LaProcedureQuiGereLeMove;
          ...
       end;

    Pour le Drag & Drop, essaye un DragMode dmManual sur le TImage et les méthodes comme BeginDrag et EndDrag

    Sinon le mode DragMode dmAutomatic sur l'objet devant être déplacé
    Gère l'évènement OnDragOver dans l'objet receveur pour indiquer si tu acceptes l'objet déplacé
    L'évènement OnDragDrop indique que l'objet déplacé est déposé (c'est à ce moment qu'il faut modifier le receveur)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

    Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié !

  3. #3
    Membre régulier Avatar de retwas
    Homme Profil pro Robin
    Développeur informatique
    Inscrit en
    mars 2010
    Messages
    227
    Détails du profil
    Informations personnelles :
    Nom : Homme Robin
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2010
    Messages : 227
    Points : 81
    Points
    81

    Par défaut

    Merci beaucoup, tout bête finalement

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •