[R] Application adapté à la résolution de l'écran

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 17:12
Status : Hors ligne

[R] Application adapté à la résolution de l'écran

#1

Message par Hugues » mer. 18 déc. 2013 10:03

Bonjour,

J'aimerai savoir s'il existe une fonction ou un UDF qui permettrait d'adapter le contenu d'un GUI en fonction de la résolution de l'écran de l'utilisateur.

En effet, je developpe sur un PC portable qui a une très bonne résolution et quand j'execute mes applications mes contrôles ont des tailles diferentes...

JGuinch m'a déjà fournit le code pour adapter la taille de mon gui en fontion de la position de la barre de tâche ^^.

Mais que faire pour que les differents contrôles (ListView, bouton, etc) restent proportionnels?

Merci par avance.
Modifié en dernier par Hugues le ven. 10 janv. 2014 11:19, modifié 1 fois.

periaz
Niveau 4
Niveau 4
Messages : 89
Enregistré le : sam. 25 avr. 2009 10:52
Status : Hors ligne

Re: [..] Application adapté à la résolution de l'écran

#2

Message par periaz » sam. 04 janv. 2014 19:34

Tu peux te servir des variables @DesktopWidth et @DesktopHeight.

Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2469
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Application adapté à la résolution de l'écran

#3

Message par jguinch » lun. 06 janv. 2014 08:56

Tu peux regarder du côté de GUICtrlSetResizing. Cette fonction permet de gérer le redimensionnement automatique des contrôles lors du redimensionnement de la fenêtre.
Ce que tu peux donc essayer de faire, c'est créer une fenêtre avec une taille fixe (1024 x 768 par ex), puis la redimensionner avant l'affichage (de la taille de l'écran)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 17:12
Status : Hors ligne

Re: [..] Application adapté à la résolution de l'écran

#4

Message par Hugues » lun. 06 janv. 2014 10:10

Merci, je regarde ça.

xPunKx
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mar. 24 déc. 2013 19:47
Status : Hors ligne

Re: [..] Application adapté à la résolution de l'écran

#5

Message par xPunKx » 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

Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2469
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Application adapté à la résolution de l'écran

#6

Message par jguinch » lun. 06 janv. 2014 21:22

@xPunKx : ta solution est 2500 fois plus simple que la mienne...
Je sors :arrow:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 17:12
Status : Hors ligne

Re: [..] Application adapté à la résolution de l'écran

#7

Message par Hugues » ven. 10 janv. 2014 11:19

OK merci à vous 2.

Sujet résolu.

Wolfblood
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 07 févr. 2019 17:35
Status : Hors ligne

Re: [R] Application adapté à la résolution de l'écran

#8

Message par Wolfblood » mar. 12 févr. 2019 14:30

Bonjour à tous !

Je passais sur le sujet , et plutôt que recrée un sujet pour poser la même question q'ici, je venais sur celui-ci. Je suis néophyte dans le domaine excusez moi ! :oops: :oops:

Mais je n'ai pas bien compris la solution donnée ici . Si quelqu'un pouvais avoir la bonté de m'expliquer un peu plus en détails j'en serais honorée !

Merci à tous !

wolfbloody :3

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5858
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Application adapté à la résolution de l'écran

#9

Message par mikell » 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 :mrgreen:
" 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