Page 1 sur 1

Sam 16/06/2012 - Actualités

Posté : sam. 16 juin 2012 15:31
par Xavier
Raccourcis


C'est finalement la totalité de la fenêtre du Gestionnaire de commandes qui est capable de créer des raccourcis par drag-and-drop à partir du Bureau ou d'un Explorateur. (Fonctionnement similaire à la fenêtre des Raccourcis de XT3).

Si aucun dossier n'a été sélectionné dans l'outil, les Raccourcis sont ajoutés à la racine.

Sam 16/06/2012 - Actualités

Posté : sam. 16 juin 2012 18:13
par Xavier
Raccourcis


Le drag-and-drop de fichiers sur le Gestionnaire de commandes est fonctionnel, mais celui sur la Barre a été retardé à cause d'un bug : désormais, la suppression d'un Raccourci ou d'un dossier de Raccourcis déclenche une routine de vérification de tous les Contrôles (les objets qui affectent un Raccourci à la Barre) et efface ceux qui pointent vers des Raccourcis introuvables. Solution un peu radicale mais qui est la seule évitant totalement les crashs.

Cette routine étant également appelée lors d'un Couper, le déplacement d'un Raccourci d'un dossier à l'autre par Couper / Coller enlevera de la Barre les Contrôles (boutons ou éléments de menus) pointant vers ce Raccourci. Un déplacement par drag-and-drop évitera ce désagrément.

Sam 16/06/2012 - Actualités

Posté : sam. 16 juin 2012 19:45
par Xavier
Drop sur la Barre


Le drag-and-drop de fichiers sur la Barre fonctionne, grâce à la magie de l'instruction

Code : Tout sélectionner

Component := FindVCLWindow(Mouse.CursorPos);
qui permet de connaitre le composant interne situé sous le curseur souris, et donc de différencier un drop sur la fenêtre du Gestionnaire de commandes d'un drop sur l'un des Rubans de la Barre.

Dans le cas d'un drop sur la Barre, un Contrôle est automatiment créé, affectant le Raccourci fraichement créé au Ruban, ce qui permet de réaliser l'un des objectifs principaux de XT4 :
DropRibbon.png
(A noter le bug des icônes à fond blanc qui revient... :evil:)

Sam 16/06/2012 - Actualités

Posté : sam. 16 juin 2012 21:46
par Xavier
Drop vers menu


Et pour finir, le drop vers menu, qui a été un exercice intéressant, sachant que les TSpeedButton utilisés comme boutons déclencheurs des menus n'ont pas de propriété Handle, et qu'il n'a donc pas été possible de les faire accepter des fichiers droppés par une instruction

Code : Tout sélectionner

DragAcceptFiles(Menu_Button.Handle, True);
Il a donc encore fallu ruser, et au final le code récupère la position absolue du curseur souris, la transforme en position relative pour le Ruban, et enfin boucle sur tous les composants du Ruban jusqu'à trouver celui qui est sous le curseur souris (c'est laborieux mais ça marche). A partir de la, les liens Bouton -> Menu -> Donnée sont utilisés pour retrouver le Parent qui accueillera le nouveau Raccourci. :mrgreen:
DropToMenu.png