begin process at 2010 02 10 11:41:16
  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 Shape et 3D [ par lapucedu88 ] Bonjour je cherche comment donner un aspect 3D à un composant de type Shape (si sela est possible bien sûr).En fait, pour être précise, je veux utilis twainy [ par tsainvet ] r e bonjour a tous  bon  jai eu beau chercher  je trouve pas a moin que je face une mauvais manipulation  qui est pas improbable  jai pas trouver mon Tchart afficher Coordonnée On MouseMove [ par van_axl ] Voila j'ai donc un graph, et je souhaiterai pouvoir afficher les coordonnées lorsque que bouge le souris de maniere a voir ou est le curseur de la sou Problème de dragdrop avec ShelllistView et ShellTreeView [ par ActiveX ] Bonjour j'ai un probleme pouvez-vous m'aider je veux faire du même principe qu'avec un filelistbox et directoryOutLine soit : if Source is TFileLis pb de module [ par mathieu57100 ] bonjour je débute en delphi et j'ai un ptit prob...j'ai dans mon projet un module de données dans lequel j'ai mis un composant TIdSMTP1 et un TIdMessa MessageDlg : boutons en anglais [ par TkILLA ] Bonjour,je développe sous delphi 2005, version anglaise (l'IDE est en anglais). Je voudrais afficher une boite de dialogue 'voulez-vous enregistrer le Skinnez facilement ses application [ par retaks666 ] Bonjour! pour ceux qui désirent skinner facilement leur applications, un composant existe: VCLskin.Voici le site: http://www.link-rank.com</ Composant [ par sauduge ] Bonjour,J'ai créé et installé un composant.Il est possible de l'utiliser dans un projet.Par contre, quand je modifie ce composant, que je le recompile Ajouter un composant sous delphi 2005? [ par furax13 ] bonjour,j'aimerai intégrer le composant TQProgressBas dans delphi 2005.Ce composant se trouve sur le net à l'adresse suivante :http://mapage.noos.fr/q


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 0,562 sec (3)

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