Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi > Composants VCL
Composants VCL Utilisation des différents composants VCL (Visual Component Library)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 03/01/2013, 15h25   #1
retwas
Membre à l'essai
 
Inscription : mars 2010
Messages : 134
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 134
Points : 21
Points : 21
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
retwas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2013, 18h33   #2
ShaiLeTroll
Expert Confirmé Sénior
 
Avatar de ShaiLeTroll
 
Homme
Développeur C++\Delphi
Inscription : juillet 2006
Messages : 9 252
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France

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

Informations forums :
Inscription : juillet 2006
Messages : 9 252
Points : 13 355
Points : 13 355
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é !
ShaiLeTroll est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 11h31   #3
retwas
Membre à l'essai
 
Inscription : mars 2010
Messages : 134
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 134
Points : 21
Points : 21
Merci beaucoup, tout bête finalement
retwas est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h08.


 
 
 
 
Partenaires

Hébergement Web