Salut !
Je pense que dans l'état actuel des choses, WinDev ne propose pas cette possibilité ... En effet,tout ce que l'on peut faire avec une barre d'outil, c'est la montrer, la cacher, la "docker" et la déplacer à l'intérieur de la fenêtre à laquelle elle appartient ... Il y a pourtant moyen de contourner, mais c'est relativement complexe .... Le principe est de mettre les boutons de la barre d'outil dans une fenêtre (libre) séparée, déplacable par le fond ( le cas échéant en supprimant la barre de titre et en ajoutant un tout petit bouton "X" pour la fermer). Lorsque tu ouvres une fenêtre avec mdiouvre(), tu ouvres aussi depuis la fenêtre mère, cette fenête "barre d'outil" spécifique à la fenêtre que tu viens d'ouvrir avec mdiouvre() ... Cette fenêtre étant indépendante de la fenêtre mère, elle peut se placer n'imorte où, et donc aussi sur le second écran ...Si tu as spécifié "ParDessusTout" lors de la création de cette "barre d'outil", elle sera toujours visible. Quand tu cliques sur un bouton de la barre d'outil, tu exécutes un executetraitement() d'un des éléments de la fenêtre à laquelle cette barre d'outil appartient... Idéalement, quand la fenêtre concernée par la barre d'outil en question perd le focus, il faudrait aussi que "sa/ses barres d'outils" deviennent invisibles pour ne pas perturber l'utilisateur si plusieurs fenêtres MDI sont ouvertes ... Et, tu peux même gérer un sembland de "dockage" . Il suffit d'avoir une procedure dans la "barre d'outil" qui permette de déplacer celle-ci si un flag est vrai. A la fin d'un déplacement de la "barre d'outil", on vérifie si elle n'est passe pas sur un coin de "sa" fenêtre (celle qu'elle commande). Si c'est le cas (à x pixels près pour rendre la chose plus facile), on active le flag "Docked".et on indique dans quel coins de la fenêtre on est "docké". Dans "sa" fenêtre, on ajoute un code à chaque déplacement et à chaque changement de taille de manière à effectuer dans chaque "barre d'outil" ouverte la procédure de "dockage" ...
Voilà ... En fait, c'est plus compliquer à expliquer qu'à faire ... même s'il faut le faire !
En espérant t'avoir donné une piste ! -- Marcel Berman Membre de WindAsso (coté belge !) |