Page 2 sur 2

Re: [..] Interface redimensionnable

Posté : lun. 21 juil. 2014 11:32
par Hugues
Un exemple de TommyDDR:
► Afficher le texte

Re: [..] Interface redimensionnable

Posté : lun. 21 juil. 2014 14:59
par Benchozer
@Hugues, le code est bien mais comment faire pour que la liste "Votre GUI va se redimensionner" soit de la même taille que la fenêtre ??

Sinon @jguinch, comment fait on pour le rendre dynamique alors?
Moi j'ai les bordures mais mon bureau marche je vois mon poste distant :/

Re: [..] Interface redimensionnable

Posté : lun. 21 juil. 2014 15:58
par Hugues
Tu utilises

Code : Tout sélectionner

GUICtrlSetResizing(controlID, resizing))
, ControlID étant ton l'ID de ton contrôle, et resizing étant comment tu veux que ton contrôle réagisse. Après tu peux faire des combinaisons avec un BitOr().

Regarde le dernier code que j'ai posté (TommyDDR), il est parlant je pense.

Re: [..] Interface redimensionnable

Posté : lun. 21 juil. 2014 16:09
par Benchozer
Il est parlant mais lorsqu'on remplace les boutons ou les autres objets par

Code : Tout sélectionner

 $oShel = ObjCreate("shell.application")
, ca ne fonctionne plus :/

Re: [..] Interface redimensionnable

Posté : mar. 22 juil. 2014 09:26
par Benchozer
Personne ne sait comment faire avec un shell.application ?? :(

Re: [..] Interface redimensionnable

Posté : mar. 22 juil. 2014 14:19
par Hugues
Salut,

J'ai trouvé ça sur un forum US. C'est presque ce que tu veux mais pour les modifs je ne peux rien pour toi, pas assez calé...

$width = 1024 et $height = 768 correspondent à la taille de ton Objet RDP.

Pour qu'il soit dynamique il faut contrôler en temps réel la taille de ta GUI Mère pour l'affecter à $width et $height pour que cela reste proportionnel... Enfin ça c'est dans la pratique...

Bon courage.

► Afficher le texte

Re: [..] Interface redimensionnable

Posté : mar. 22 juil. 2014 14:30
par Benchozer
► Afficher le texte
Je change ces lignes et ca marche plus.. J'en peuuuuux plus !

Ca remet les bordures quand tu redimensionnes.. C'est incroyable :0

Re: [..] Interface redimensionnable

Posté : mar. 22 juil. 2014 14:45
par Hugues
C'est normal, tu definis comme taille de ton objet

Code : Tout sélectionner

$GUIActiveX = GUICtrlCreateObj($oRDP, 10, 10, $width, $height)
.
$width, $height ne sont pas dynamique quand tu redimensionnes.

Il faudrait peut-être une autre fonction qui tourne en boucle qui "mesure" en temps réel la taille de ton GUI pour pourvoir redimensionner en fonction ton objet...

Pfiou j'ai mal au crâne, je me comprend même plus... lol :mrgreen:

Re: [..] Interface redimensionnable

Posté : mar. 22 juil. 2014 15:22
par Benchozer
Je sais pas si l'erreur vient de la car sans remplir les informations des lignes rouges, ca redimensionne comme il faut..

Re: [..] Interface redimensionnable

Posté : mar. 22 juil. 2014 19:37
par jguinch
Bien joué Hugues, je l'avais pas vu celui-là...
Bon, donc on a la solution pour les problèmes d'affichage (le blanc tout pourri) - il fallait appliquer un style particuliers aux différents contrôles créés par l'ActiveX RDP.

Maintenant, en ce qui concerne les bordures je pense avoir compris la raison pour laquelle il va être difficile de les supprimer (et maintenant ça me paraît logique).
Quand on créé un contrôle ActiveX RDP, il a une résolution définie par défaut (qui correspond à la taille du contrôle), qui ne peut pas être changée en cours d'utilisation (ça c'est ce que je conclue hein). Cette résolution peut être définie avec $oRDP.DesktopWidth et $oRDP.DesktopHeight avant la connexion RDP.
Il s'agît là de la taille max de la fenêtre RDP, le reste étant comblé par des bordures lors d'un redimensionnement en plus grand...
Par contre, lorsqu'on redimensionne le contrôle avec une taille inférieure à sa résolution (par défaut ou définie), des ascenseurs apparaissent. Si on veut faire disparaître les ascenseurs, on peut utiliser $oRDP.AdvancedSettings3.SmartSizing = True qui va adapter l'image (déformation) à la taille du contrôle. (bizarrement, ce paramètre n'adapte l'image que pour un redimensionnement inférieur à sa résolution.

J'ai le même comportement avec Terminals, il se pourrait donc qu'il n'y ait pas possibilité d'éliminer les bordures :?:

Sinon, ce que tu peux essayer, c'est définir la résolution RDP de départ avec des valeurs suffisamment grandes (mais ça peut piquer les yeux sur une config multi-moniteurs :?
Par ex :

Code : Tout sélectionner

$oRDP.DesktopWidth = @DesktopWidth
$oRDP.DesktopHeight = @DesktopHeight
Mais là, tu n'auras pas une super qualité d'affichage..

Re: [..] Interface redimensionnable

Posté : mer. 23 juil. 2014 09:45
par Benchozer
Je comprend ta réponse mais je vois pas ce que tu veux faire avec le code que tu as mis :/

Fin je trouve pas que ca va changer quelque chose si ?

Re: [..] Interface redimensionnable

Posté : mer. 23 juil. 2014 15:21
par jguinch
Non, ça ne changera rien, à part que tu n'auras plus les bandes sur les côtés, mais à la place tu auras une résolution d'affichage qui piques les yeux...

Re: [..] Interface redimensionnable

Posté : mer. 23 juil. 2014 15:48
par Benchozer
Non ca pique pas trop les yeux ca va mais des que je clique quelque part ca se remet à la taille de départ ?? le resize marche bien mais reste pas activé quoi :/

Re: [..] Interface redimensionnable

Posté : mer. 23 juil. 2014 20:56
par jguinch
Ouais j'ai remarqué... Là je sèche, désolé.

Re: [..] Interface redimensionnable

Posté : jeu. 24 juil. 2014 09:15
par Benchozer
Pas de soucis :) c'est deja hyper gentil de m'avoir autant aidé ! De même pour Hugues