Page 1 sur 1

script adapter à toute taille et toute résolution d'écran

Posté : jeu. 14 févr. 2019 16:45
par Wolfblood
Bonjour à tous , me revoilà pour une nouvelle question !
En parcourant le site j'ai pu voir un sujet résolu , cependant même si le sujet et résolus je n'ai pas compris ce qui était expliquer dedans . :/ Donc je vais le cité ci-joins pour que quelqu'un m'éclaire à ce sujet.

Liens su sujet :
https://www.autoitscript.fr/forum/viewt ... =4&t=12049


La réponse pour le sujet est résolus est celle-ci :


"De : xPunKx
Niveau 2

Re: [..] Application adapté à la résolution de l'écran
• Rapporter le message
• Citation
#5
Message lun. 06 janv. 2014 19:57
Ceci devrait t'aider pas mal :

Code : Tout sélectionner

 #include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

; Set resize mode for controls
Opt("GUIResizeMode", $GUI_DOCKAUTO)

$hGUI = GUICreate("Test", 500, 300, -1, -1, BitOR($WS_SIZEBOX, $WS_SYSMENU))

$cButton_1 = GUICtrlCreateButton("Test 1", 10, 10, 80, 30)
$cButton_2 = GUICtrlCreateButton("Test 2", 10, 50, 80, 30)

GUISetState()

GUIRegisterMsg($WM_SIZING, "_WM_SIZING")

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Func _WM_SIZING($hWnd, $iMsg, $wParam, $lParam)

    #forceref $iMsg, $wParam, $wParam

    If $hWnd = $hGUI Then

        Local $iNew_H, $iNew_W

        Local $sRect = DllStructCreate("Int[4]", $lParam)
        Local $iLeft = DllStructGetData($sRect, 1, 1)
        Local $iTop = DllStructGetData($sRect, 1, 2)
        Local $iRight = DllStructGetData($sRect, 1, 3)
        Local $iBottom = DllStructGetData($sRect, 1, 4)
        ; Keep the same aspect ratio
        Switch $wParam ; drag side or corner
            Case 1, 2 ; $WMSZ_LEFT, $WMSZ_RIGHT
                $iNew_H = Int(($iRight - $iLeft) * 300 / 500)
                DllStructSetData($sRect, 1, DllStructGetData($sRect, 1, 2) + $iNew_H, 4)
            Case Else
                $iNew_W = Int(($iBottom - $iTop) * 500 / 300)
                DllStructSetData($sRect, 1, DllStructGetData($sRect, 1, 1) + $iNew_W, 3)
        EndSwitch
    EndIf

EndFunc 

Je le poste ici , en nouveau sujet , suite au message très gentil de :

"mikell
Modérateur

Re: [R] Application adapté à la résolution de l'écran
• Rapporter le message
#9
Message mar. 12 févr. 2019 21:06
Dans ce sujet, la relation entre le titre du sujet et la solution fournie n'est pas du tout évidente

Il faudrait que tu poses ta question de manière plus précise, quitte à créer un nouveau sujet. On se fâchera pas "


Car j'aurais voulu pouvoir comprendre en quoi le bout de code est la réponse a la question posé. Je suis encore néophyte dans le domaine du coup je suis mangeuse de compréhension et de savoir.

Merci à tous d'avance ! Et bonne Saint Valentin !

Re: script adapter à toute taille et toute résolution d'écran

Posté : jeu. 14 févr. 2019 19:13
par mikell
En lisant bien le 1er message du sujet on se rend compte que en fait la vraie question est :
que faire pour que les differents contrôles (ListView, bouton, etc) restent proportionnels?

C'est ce que fait Opt("GUIResizeMode", $GUI_DOCKAUTO)
Pour plus de détails, direction le fichier d'aide, évidemment :mrgreen:
GUICtrlSetResizing
GUIResizeMode (Option)

Pour le rapport avec la résolution d'écran, par exemple :

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

; Set resize mode for controls
Opt("GUIResizeMode", $GUI_DOCKAUTO)

$hGUI = GUICreate("Test", 500, 300, -1, -1, BitOR($WS_SIZEBOX, $WS_SYSMENU))
$cButton_1 = GUICtrlCreateButton("Test 1", 10, 10, 80, 30)
$cButton_2 = GUICtrlCreateButton("Test 2", 10, 50, 80, 30)
GUISetState()

Sleep(200)
Msgbox(0,"", "mise à la taille de l'écran :")
WinMove($hGUI, "", 0, 0, @DesktopWidth, @DesktopHeight)


While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Re: script adapter à toute taille et toute résolution d'écran

Posté : jeu. 14 févr. 2019 19:13
par mikell
En lisant bien le 1er message du sujet on se rend compte qu'en fait la vraie question est :
que faire pour que les differents contrôles (ListView, bouton, etc) restent proportionnels?

C'est ce que fait Opt("GUIResizeMode", $GUI_DOCKAUTO)
Pour plus de détails, direction le fichier d'aide, évidemment :mrgreen:
GUICtrlSetResizing
GUIResizeMode (Option)

Pour le rapport avec la résolution d'écran, par exemple :

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

; Set resize mode for controls
Opt("GUIResizeMode", $GUI_DOCKAUTO)

$hGUI = GUICreate("Test", 500, 300, -1, -1, BitOR($WS_SIZEBOX, $WS_SYSMENU))
$cButton_1 = GUICtrlCreateButton("Test 1", 10, 10, 80, 30)
$cButton_2 = GUICtrlCreateButton("Test 2", 10, 50, 80, 30)
GUISetState()

Sleep(200)
Msgbox(0,"", "mise à la taille de l'écran :")
WinMove($hGUI, "", 0, 0, @DesktopWidth, @DesktopHeight)


While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd