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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Wolfblood
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 07 févr. 2019 17:35
Status : Hors ligne

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

#1

Message 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 !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#2

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#3

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre