PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Double écran dans nos applications ?
Double écran dans nos applications ?
Débuté par JF, 25 jan. 2006 17:28 - 4 réponses
Posté le 25 janvier 2006 - 17:28
Bonjour,

J'ai lu que Windev10 gère le double affichage. Mais pour sa interface...

Peut-on développer des appli qui pourront marcher sur 2 écrans avec par exemple des boites à outils sur la fenetre mère qui peuvent être sorties de la fenetre ?
Si oui comment le faire ?

Merci d'avance,
JF
Posté le 25 janvier 2006 - 23:38
JF avait soumis l'idée :

Bonjour,

J'ai lu que Windev10 gère le double affichage. Mais pour sa interface...

Peut-on développer des appli qui pourront marcher sur 2 écrans avec par
exemple des boites à outils sur la fenetre mère qui peuvent être sorties de
la fenetre ? Si oui comment le faire ?

Merci d'avance,
JF


Il n'y a rien à faire, du moment que l'option pour mémoriser la taille
et la position des fenêtres est cochée, il y aura sauvegarde puis
restauration sur le bon écran !

A+
Posté le 26 janvier 2006 - 11:23
Merci pour votre réponse mais j'ai cherché et ça ne fonctionne pas.

Je ne suis pas sûr que vous ayez compris ma question. Ce que je veux c'est détacher ma boite à outils de la fenetre mère de mon application et la mettre sur le 2e écran alors que la fenetre mère reste sur le 1er, comme on peut faire sous windev avec le kouglof par exemple. Et comme on peut faire avec beaucoup de logiciels, par exemple Photoshop, le but étant d'avoir d'un coté son application en plein écran sur le moniteur 1 et de l'autre les boites à outils sur le moniteur 2.

Est-ce possible ?
Posté le 27 janvier 2006 - 10:39
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 !)
Posté le 27 janvier 2006 - 12:47
Merci beaucoup d'avoirpris le temps de m'expliquer tout ça, ça répond parfaitement à ma demande.
En fait j'avais déjà pensé à réaliser une solution de ce genre mais avant de me lancer je voulais être sûr qu'il n'existait pas un moyen "simple" de faire ça.
Encore merci, je me mets au boulot ;)