Redimensionner une fenetre (code)

Vous voulez de l'aide ? Postez ici :)
Post Reply
Automatik
Posts: 2
Joined: 21 Jul 2018, 18:47

Redimensionner une fenetre (code)

Post by Automatik »

Bonjour :)

Tout d'abord merci à JMGR pour nous faire partager son beau et très intuitif logiciel gratuitement !!!
Merci au Wiki Actiona qui m'a permis d'utiliser quelques syntaxes et donc mieux optimiser mes Scripts
Et enfin merci aux membres du Forum qui ont répondus a mes questions avant même que je fasse la demande :D

Voici maintenant la raison de mon post n'ayant pas trouvé de réponse sur le forum/wiki actiona :

J'ai rencontré un petit problème en voulant redimensionner une fenêtre.
J'aurais besoin de redimensionner une fenêtre en 800x600 pixels sans utiliser les bordures de la fenêtre.
J'arrive a redimensionner ma fenêtre, par contre, je ne comprend pas comment ne pas prendre en compte les bordures.

Je vous met mon code ci dessous :

Code: Select all

chercheNotepad = Window.find ({title: "****************************Bloc-notes"}); // La variable en dit long ^^
	
	if (chercheNotepad.length == 0) {} // Non Trouvé !
		
	else if (chercheNotepad.length >= 1) // Trouvé !
	{
	fenetreNotepad = new Window(chercheNotepad[0]); // Recupere la fenetre n°1 du tableau

	fenetreNotepad.setForeground(); // Passe la fenetre au premier plan

	fenetreNotepad.move(0,0); // Deplace la fenetre en positon [0:0]

	dimension = new Size (800,600) // Creer une nouvelle taille de [800:600]
	}

Jusque là tout fonctionne c'est uniquement le ".resize" qui me pose probleme
Voici toutes les syntaxes que j'ai testé en bout de la condition "else if" sans réussite...

Code: Select all

fenetreNotepad.resize (dimension) ;
// Redimensionne la fenetre en [800x600] mais utilise les bordures car useBorders est egal a "true" par default (ce que je ne veux pas)

Code: Select all

fenetreNotepad.resize (800,600) ;
// Redimensionne la fenetre en [800x600] mais utilise les bordures (ce que je ne veux pas)

Code: Select all

fenetreNotepad.resize (dimension,false);
// Redimensionne la fenetre en [0x0]

Code: Select all

fenetreNotepad.resize ({size:dimension,useBorders:false});
// Redimensionne la fenetre en [0x0] Arguments en anglais

Code: Select all

fenetreNotepad.resize ({taille:dimension,utiliseLesBordures:false});
// Redimensionne la fenetre en [0x0] Arguments en francais

Code: Select all

fenetreNotepad.resize ({size:800,600,useBorders:false});
// Erreur de syntaxe (logique vu que la virgule doit être utiliser uniquement pour séparer les arguments)

Code: Select all

fenetreNotepad.resize ({size:dimension,useBorders:"false"}); 
// Redimensionne la fenetre en [0x0]

Code: Select all

fenetreNotepad.resize ({1:dimension,2:"false"}); 
// Redimensionne la fenetre en [0x0]

Code: Select all

fenetreNotepad.resize ({size:dimension});
fenetreNotepad.resize ({useBorders:false}) ;
// Redimensionne la fenetre en [0x0]

En gros a chaque fois que j'utilise les 2 arguments dans la fonction il redimensionne ma fenêtre en 0x0

Voilà :D en espérant que quelqu'un puisse me venir en aide pour utiliser le redimensionnement sans prendre en compte la bordure de fenêtre avec du CODE (avec les actions graphique je sais déjà le faire)
francois
Posts: 456
Joined: 18 Oct 2010, 10:33
Location: France

Re: Redimensionner une fenetre (code)

Post by francois »

Bonjour,

J'ai aussi fait quelques tests.

Il y a probablement un bug dans :

Code: Select all

myObject.resize(size, useBorders);
quand on ne veut pas prendre en compte les bordures.


Cordialement
Francois
Automatik
Posts: 2
Joined: 21 Jul 2018, 18:47

Re: Redimensionner une fenetre (code)

Post by Automatik »

Salut François,

Merci de ta réponse !

Du coup pour régler le problème, j'ai redimensionner ma fenêtre avec d'autres valeurs (plus grandes) pour quelle soit exactement à la même dimension
qu'une fenêtre en 800x600 sans prendre en compte les bordure.

Pour ceux qui ont le même problème et qui ont la flemme de faire des tests jusqu'à obtenir les même format pour les 2 fenêtres,
pour Windows 7 thème Aero et Basic il vous faut ajouter +16 en X et + 58 en Y (Si vous avez une dimension de fenêtre en 800x600 sans bordure il vous faudra alors mettre la valeur 816x658 pour obtenir le même format en prenant en compte les bordures cette fois)

PS : Attention tout de même ce n'est pas une valeur exhaustive les valeurs à ajouter peuvent surement changer en fonctions des bordures plus ou moins grandes de certaines fenêtres
Post Reply