begin process at 2012 02 09 21:15:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Divers

 > 

Prévisualisation du DragDrop


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Prévisualisation du DragDrop

vendredi 28 avril 2006 à 09:36:24 | Prévisualisation du DragDrop

Denokan

Bonjour à tous (et surtout à toutes )

je cherche à faire glisser mes composants (ça peut être des TEdit comme des TButton) sur ma fiche à l'éxécution pour que l'utilisateur puisse personnaliser son environnement... j'arrive relativement bien à les déplacer (DragMode à dmAutomatic et affectation de Left, Top et Parent dans le DragDrop)

par contre j'aimerai afficher à l'écran un rectangle tout simple de la taille du composant DragDropé pour prévisualiser l'espace qui sera occupé par mon composant, exactement comme le fait le concepteur de fiches de delphi. j'ai eu l'idée d'aller fouiller dans la source de TControl, mais même si j'ai compris la méthode générale pour afficher ce rectangle, j'ai plusieurs bugs. aussi je me demande si :
- est-il possible de réutiliser les méthodes de borland (à travers BeginDrag et EndDrag ?)
- quelqu'un a déjà fait ça et me fait passer son source

merci

http://denokan.online.fr Soyeux heureux, soyeux programmeur =)
vendredi 28 avril 2006 à 11:19:18 | Re : Prévisualisation du DragDrop

florenth

Membre Club
Jettes un coup d'oeil ici: DRAG AND DROP AVEC IMAGE QUI SUIT LE CURSEUR.
Je ne sais pas si c'est réellement ce que tu cherches mais c'est déjà un bon début.
En plus, c'est abondament commenté.

++

Si tu ne te plantes pas ......
tu ne pousseras jamais
vendredi 28 avril 2006 à 11:41:28 | Re : Prévisualisation du DragDrop

cirec

Membre Club Administrateur CodeS-SourceS
Salut,
si c'est juste pour pouvoir déplacer les composants en mode runtime alors c'est encore plus simple :

tu écris ce qui suit dans l'évènement OnMouseMove de la form (par Exemple)
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  If Sender Is TControl Then
  Begin
  ReleaseCapture;
  TControl(Sender).Perform (WM_SYSCOMMAND, SC_MOVE or HTCAPTION, 0);
  End;
end;

et en suite par l'inspecteur d'objet tu mets dans l'évènement OnMouseMove, de tous les composants qui doivent être déplacés, FormMouseMove.

et c'est tout et comme par magie tu peux déplacer les boutons les edits les mémos les stringgrids etc... juste en cliquant dessus et en déplacant la souris.


 n'oubliez pas de cliquer sur Réponse Acceptée si elle vous convient


@+
Cirec

vendredi 28 avril 2006 à 12:06:29 | Re : Prévisualisation du DragDrop

florenth

Membre Club
Oui cirec tu as raison.
Mais ce que désire Denokan, c'est pouvoir prévsualiser son drap drop.
C'est à dire de voir où le composant va arriver avant qu'il relache le bouton de la souris.
Car, avec ta méthode, tu ne peux pas changer le parent du control ni vérifier que le control qui va le recevoir est "d'accord".

Ou alors, comme c'est souventle cas ces derniers temps, je suis à côté de la plaque

++

Si tu ne te plantes pas ......
tu ne pousseras jamais
vendredi 28 avril 2006 à 12:51:40 | Re : Prévisualisation du DragDrop

cirec

Membre Club Administrateur CodeS-SourceS
il parlait de visualiser les composants lors du déplacement donc c'est un peut vaste.
Avec la méthode que je propose il peut déplacer ces composants sur toute la fiche et bien sur voir ou il va le déposer (je rappel que c'est le composant qui bouge et non un rectangle) mais que bien évidement avec cette méthode il ne peut pas changer de parent donc pas besoin d'accord.

En fait pour simplifier cette méthode reproduit le comportement des composant en design time (c'est à dire qu'on peut les déplacer à souhait mais si on veut changer le parent il faut faire un couper coller par Ex)

Ou alors, comme c'est souventle cas ces derniers temps, je suis à côté de la plaque

je ne pense pas que tu sois à côté de la plaque comme la question ne précisait pas le changement de parent donc ...

Mais il me semble qu'il y une source sur CS qui fait quelque chose de similaire.
je regarde si je la retrouve je te tiens au courant


@+
Cirec
vendredi 28 avril 2006 à 12:57:23 | Re : Prévisualisation du DragDrop

cirec

Membre Club Administrateur CodeS-SourceS
Tiens je pense que cette source mettera tout le monde d'accord

Comment déplacer et/où redimenssionner les composants en RunTime par Mauricio


 n'oubliez pas de cliquer sur Réponse Acceptée si elle vous convient


@+
Cirec

vendredi 28 avril 2006 à 13:06:05 | Re : Prévisualisation du DragDrop

Denokan

j'ai déjà essayé cette méthode mais le problème c'est qu'elle dessine sur le canvas de la form, donc si j'ai un panel le canvas de ma form n'est pas visible... la méthode qui est utilisée par le concepteur récupère le Device Context de l'écran et dessine directement dessus. il y a peut-être moyen de récup l'écran sous forme de canvas ?

http://denokan.online.fr Soyeux heureux, soyeux programmeur =)
vendredi 28 avril 2006 à 13:10:27 | Re : Prévisualisation du DragDrop

cirec

Membre Club Administrateur CodeS-SourceS
le canvas de l'écran je ne sais pas mais celui du Bureau oui :

http://www.delphifr.com/codes/ECRIRE-SUR-BUREAU_12351.aspx

@+
Cirec
vendredi 28 avril 2006 à 13:10:30 | Re : Prévisualisation du DragDrop

florenth

Membre Club
@ Denokan: dans ma source, tu peux directement dessine rsur l'écran.
Je vais faire une MAJ, car là, c'est vraique c'est plutot mal expliqué.
Je t'avertit dès que c'est fait.

++

Si tu ne te plantes pas ......
tu ne pousseras jamais
vendredi 28 avril 2006 à 13:13:14 | Re : Prévisualisation du DragDrop

Denokan

ok la réponse de Cirect est très intéressante, mais effectivement je vais avoir besoin de changer de parent... donc j'imagine que je dois passer par une méthode drag drop...

http://denokan.online.fr Soyeux heureux, soyeux programmeur =)

1 2

Cette discussion est classée dans : composant, afficher, prévisualisation, rectangle, dragdrop


Répondre à ce message

Sujets en rapport avec ce message

afficher plusieurs fois le même composant [ par retaks666 ] Bonjour, je suis débutant en delphi, et je voulais savoir si'il était possible, comme en visual basic, de créer un groupe de composant, c'est a dire u Chargement CXGRID [ par leroukin ] Bonjour, j'utilise des composants TcxGrid afin d'afficher le résultats de requetes faites via des ToracleDataset. Le composant Tcxgrid est très prati Envoie d'un fichier via composant indy sur ftp xbox 360 [ par nuagedan100 ] Bonjour a tous, ça fait un moment que je cherche pour résoudre mon problème, je suis débutant en delphi je m'amuse a coder par passion et c'est pas f appeller l'evenement d'un autre composant [ par MohInfo ] bonsoir à tous j'ai un petit soucis je veux implémenter dans un TmenuItem le méme code que celui d'un tButton qui se situe dans une autre form, comm Masquer et afficher des fenêtres [ par penvernyo ] Bonsoir à toutes et à tous, J'essaye tant bien que mal de me remettre à Delphi, auquel je n'ai pas touché depuis des années. Je viens de réaliser de Propriété Brush et FBrush d'un composant [ par Jean_Jean ] Bonjour, [^^pirate] Salerpipopette de propriétés... En fait, je voudrais que lorsque je pose mon composant, il ait une dimension définie ainsi que s Inspecteur d'objet [ par Jean_Jean ] Bonjour, Dans un composant, je souhaite utiliser un type séparateur qui comprend par exemple : ('.',';',#13,'/','|',',','-',' ','_',':'); Je souhait Progressbar dynamique + listview + pourcentage [ par oregon ] Bonjour. Je viens ici pour vos pose une questions actuellement sur un projet je fait afficher une progressbar dans une listview (source sur le site) e Composant navigateur Web avec proxy [ par toma1234567 ] Bonjour à tous, Connaissez vous l'existence d'un composant pour Delphi de type navigateur Web (TWebBrowser) avec lequel on puisse utiliser ou définir publier un canvas [ par RV AXE ] bonjour à tous voici un code source ou je créé un composant (par exemple un GraphicControl) dont j'ai publier le canvas. unit GraphicControl1; int


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,649 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales