[R] Limiter la redimension d'une GUI

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
minoui
Niveau 4
Niveau 4
Messages : 58
Enregistré le : jeu. 01 mai 2008 21:01
Localisation : Paris 13
Status : Hors ligne

[R] Limiter la redimension d'une GUI

#1

Message par minoui »

Bon c'est simple J'ai une fenêtre qui peut être redimensionner mais je voudrais que l'on ne puisse pas la faire plus petite qu'une certaine taille

Merci :wink:
Modifié en dernier par minoui le mer. 26 nov. 2008 19:00, modifié 2 fois.
Boom head-shot
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Limiter la redimension

#2

Message par Tlem »

Il vous faut dans ce cas gérer l'évènement $GUI_EVENT_RESIZED dans votre boucle While et contrôler que la taille de la GUI soit pas plus petite que ...
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
minoui
Niveau 4
Niveau 4
Messages : 58
Enregistré le : jeu. 01 mai 2008 21:01
Localisation : Paris 13
Status : Hors ligne

Re: [..] Limiter la redimension

#3

Message par minoui »

ok merci mais euu comment récupéré la taille du GUI ?
Boom head-shot
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Limiter la redimension

#4

Message par Tlem »

En cherchant dans l'aide vous trouverez ceci : WinGetPos ou ceci WinGetClientSize.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
minoui
Niveau 4
Niveau 4
Messages : 58
Enregistré le : jeu. 01 mai 2008 21:01
Localisation : Paris 13
Status : Hors ligne

Re: [..] Limiter la redimension

#5

Message par minoui »

Cette méthode ne marche pas très bien. Y a t'il une méthode qui empêche purement et simplement de redimensionner au delà d'un taille minimum ?
Boom head-shot
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Limiter la redimension

#6

Message par Tlem »

Que voulez-vous dire par ne marche pas très bien ?
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Limiter la redimension

#7

Message par Tlem »

Le mieux aurait été de donner l'intégralité du code. ;)

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $aUtil_MinMax[4]

GUICreate('WM_GETMINMAXINFO',400,400,-1,-1,$WS_SIZEBOX)
GUISetState()
InitMinMax(200,200,400,400)   ; C'est ici que l'on règle les valeurs Min et Max de la fenêtre.

While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd


Func InitMinMax($x0,$y0,$x1,$y1)
    Local Const $WM_GETMINMAXINFO = 0x24
    $aUtil_MinMax[0]=$x0
    $aUtil_MinMax[1]=$y0
    $aUtil_MinMax[2]=$x1
    $aUtil_MinMax[3]=$y1
    GUIRegisterMsg($WM_GETMINMAXINFO,'MY_WM_GETMINMAXINFO')
EndFunc

Func MY_WM_GETMINMAXINFO($hWnd, $Msg, $wParam, $lParam)
    Local $minmaxinfo = DllStructCreate('int;int;int;int;int;int;int;int;int;int',$lParam)
    DllStructSetData($minmaxinfo,7,$aUtil_MinMax[0]); min X
    DllStructSetData($minmaxinfo,8,$aUtil_MinMax[1]); min Y
    DllStructSetData($minmaxinfo,9,$aUtil_MinMax[2]); max X
    DllStructSetData($minmaxinfo,10,$aUtil_MinMax[3]); max Y
    Return $GUI_RUNDEFMSG
EndFunc
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
minoui
Niveau 4
Niveau 4
Messages : 58
Enregistré le : jeu. 01 mai 2008 21:01
Localisation : Paris 13
Status : Hors ligne

Re: [..] Limiter la redimension

#8

Message par minoui »

Peut - tu m'expliquer l'utilisation de $WM_GETMINMAXINFO Stp

TLEM mercii je me fait Ch*** depuis un bout de temps a cause de cet foutu touche F5 (sisi j'avais oublier de rafraichir) :x :x :x :x
Boom head-shot
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Limiter la redimension d'une GUI

#9

Message par ani »

intégralité du code ? pas suivit

minoui la réponse est devant vous
on décompose le terme
WM = message fenêtre (window message)
get = voir ?
Min = Minimum
Max = Maximum
Info = Information

le minimum et maximum nous retourne les point x, y, hauteur,largeur
on voit les information x,y,hauteur,largeur de la fenetre (défois faut pas trop chercher ;) )


bonne continuation
Avatar du membre
minoui
Niveau 4
Niveau 4
Messages : 58
Enregistré le : jeu. 01 mai 2008 21:01
Localisation : Paris 13
Status : Hors ligne

Re: [R] Limiter la redimension d'une GUI

#10

Message par minoui »

Je pense que Tlem voulait dire que ton code ne permet que de redimntionner de haut en bas et pas de gauche a droite
Quand a moi je voulais comprendre ces lignes :
► Afficher le textecode1
► Afficher le texteCode 2
► Afficher le texteCode 3
Merci :wink:
Boom head-shot
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Limiter la redimension d'une GUI

#11

Message par Tlem »

Code : Tout sélectionner

InitMinMax(200,200,400,400)
Lance la fonction InitMinMax avec les 4 valeurs données en argument, c'est à dire 200, 200, 400 et 400.

Code : Tout sélectionner

Local Const $WM_GETMINMAXINFO = 0x24
Fixe la valeur de $WM_GETMINMAXINFO avec la valeur 0x24

Code : Tout sélectionner

GUIRegisterMsg($WM_GETMINMAXINFO,'MY_WM_GETMINMAXINFO')
Lance la fonction GUIRegisterMsg() pour la valeur $WM_GETMINMAXINFO et la re-dirige vers la fonction MY_WM_GETMINMAXINFO().

Code : Tout sélectionner

Return $GUI_RUNDEFMSG
Renvois la valeur $GUI_RUNDEFMSG à la commande qui à lancé la fonction (c'est à dire GUIRegisterMsg()). Cette valeur est une valeur fixe qui est déterminée dans GUIConstantsEx.au3.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
minoui
Niveau 4
Niveau 4
Messages : 58
Enregistré le : jeu. 01 mai 2008 21:01
Localisation : Paris 13
Status : Hors ligne

Re: [R] Limiter la redimension d'une GUI

#12

Message par minoui »

Merci de ta réponse mais heuu
Tlem a écrit :Code:
Local Const $WM_GETMINMAXINFO = 0x24
Fixe la valeur de $WM_GETMINMAXINFO avec la valeur 0x24
Je suis pas non plus débile j'avais compris :mrgreen: Je voulais dire :

Quel est la valeur de $WM_GETMINMAXINFO et quel sont les choses quelle renvoie :?:
Tlem a écrit :

Code : Tout sélectionner

Return $GUI_RUNDEFMSG
Renvois la valeur $GUI_RUNDEFMSG à la commande qui à lancé la fonction (c'est à dire GUIRegisterMsg()). Cette valeur est une valeur fixe qui est déterminée dans GUIConstantsEx.au3.
Peut-tu me donner plus d'infos sur cette variable stp :roll:
Boom head-shot
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Limiter la redimension d'une GUI

#13

Message par Tlem »

minoui a écrit :Je suis pas non plus débile j'avais compris :mrgreen: Je voulais dire :
Quel est la valeur de $WM_GETMINMAXINFO et quel sont les choses quelle renvoie
Heuuu là, je ne vois pas comment faire plus 'débile' comme explication ... :lol:
On va essayer 8) :
La valeur de $WM_GETMINMAXINFO est : 0x24 (valeur hexadécimale de 36) :P
Et cette variable retourne la valeur qu'on lui à attribué ... C'est à dire ............. 0x24 :lol: :lol: :lol:
minoui a écrit :Peut-tu me donner plus d'infos sur cette variable stp :roll:
Au sujet de la variable $GUI_RUNDEFMSG, éditez le fichier C:\Program Files\AutoIt3\Include\GUIConstantsEx.au3 et regardez ligne 24. :mrgreen:
Je vous fait grâce de la même réponse que si dessus ... :lol:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
minoui
Niveau 4
Niveau 4
Messages : 58
Enregistré le : jeu. 01 mai 2008 21:01
Localisation : Paris 13
Status : Hors ligne

Re: [..] Limiter la redimension d'une GUI

#14

Message par minoui »

Ha je croyait que $WM_GETMINMAXINFO etait une variable heuu comment dire ... spéciale et pas une variable simple
Dsl :wink:
Boom head-shot
Avatar du membre
Anthony
Niveau 7
Niveau 7
Messages : 321
Enregistré le : lun. 17 janv. 2011 14:08
Localisation : France
Status : Hors ligne

Re: [R] Limiter la redimension d'une GUI

#15

Message par Anthony »

Oui mais peut on appliquer cette limitation à "WordPad" par exemple ?

Code : Tout sélectionner

InitMinMax(200,200,400,400)
Je suis diagnostiqué pour trouble de la concentration, soyez indulgent
Merci à tous pour votre aide.
UDF: GuiStatusBarEx --- 2025/03/17 --- Une StatusBar complète, rapide et simple
Code: Code-Texte fusion --- Une GUI pour fusionner des GCodes pour CNC 3018
Cool: Base64 Compression Tool --- des fichiers dans vos scripts
Répondre