[R] GUICtrlCreateRadio est il dimensionnable ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

[R] GUICtrlCreateRadio est il dimensionnable ?

#1

Message par Yle »

Bonsoir,

Lorsque je programme un Local $idRadio1 = GUICtrlCreateRadio("Radio 1", 10, 10, 120, 20), un bouton "radio" s'affiche mais en résolution Full HD (1980x1024), le bouton radio a vraiment une toute petite taille.
Y-a-t'il une astuce pour le redimensionner et si oui comment faire pour l'agrandir ?

Merci d'avance
Modifié en dernier par Yle le dim. 13 déc. 2015 12:21, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] GUICtrlCreateRadio est il dimensionnable ?

#2

Message par jguinch »

Qu'entends-tu par "résolution HD" ? Tu voudrais que le texte soit plus gros, ou que ce soit la case à cocher qui soit plus grosse ?
Pour le texte, c'est faisable, mais pour la case à cocher il va falloir passer par autre chose qu'un contrôle de type "radio" car à priori, pas possible de définir sa taille...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Re: [..] GUICtrlCreateRadio est il dimensionnable ?

#3

Message par Yle »

Le texte, pas de souci mais c'est la case à cocher qui est trop petite en 1920x1080 !
Une checkboxe peut s'agrandir mais j'ai besoin de plusieurs boutons "RADIO"
J'ai regardé un peu partout mais j'ai rien vu là dessus...
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] GUICtrlCreateRadio est il dimensionnable ?

#4

Message par jguinch »

Je pense que la seule solution est de passer par autre chose qu'un bouton radio, genre une image, une icône, ou du texte.
Par exemple, on peut faire un truc simple comme ça :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] GUICtrlCreateRadio est il dimensionnable ?

#5

Message par mikell »

jguinch tu aurais pu te lâcher :mrgreen:
► Afficher le texte
Maintenant, ce que ça peut donner en surfant avec les résolutions ... ^^
" 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
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] GUICtrlCreateRadio est il dimensionnable ?

#6

Message par jguinch »

Pas mal le $WS_EX_CLIENTEDGE, j'y avais pas pensé :wink:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Re: [R] GUICtrlCreateRadio est il dimensionnable ?

#7

Message par Yle »

Excellent, le n'y avais pas pensé
Je vais modifier mon script en conséquence car ce n''est pas mal du tout !
Merci à vous deux

Bon dimanche
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] GUICtrlCreateRadio est il dimensionnable ?

#8

Message par mikell »

Avant de chambouler ton script, tu devrais tester le bazar sous différentes résolutions puisqu'apparemment c'est ça qui fait souci
Pas sûr que la cohérence visuelle soit conservée, à moins de systématiquement redessiner le controle en fonction de la résolution utilisée :?
" 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
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Re: [R] GUICtrlCreateRadio est il dimensionnable ?

#9

Message par Yle »

Mikell bonjour,

Je n'avais pas vu ta remarque.
J'ai donc commencé à modifier mon script et me suis aperçu en testant (toutes les résolutions écran du 1024x768 au 1980x1020) qu'avec des résolutions les "coches" n'apparaissaient plus.
Je vais donc être obligé de re dessiner à chaque fois car la taille de la checkboxe varie en fonction de la définition écran et la coche ne tape plus dedans
Je vais regarder çà cette semaine...
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] GUICtrlCreateRadio est il dimensionnable ?

#10

Message par mikell »

Dans mon code et avec ma résolution habituelle 1920x1080 j'ai dû rajouter un espace avant la coche pour qu'elle soit bien centrée dans la case
Il va probablement te falloir tout adapter (taille, police etc) en fonction de chaque résolution possible :?
" 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
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Re: [R] GUICtrlCreateRadio est il dimensionnable ?

#11

Message par Yle »

Effectivement faut ajouter un espace presque sur toutes les résolutions
En ce qui concerne la taille des polices et des fenêtres, je joue sur la résolution actuelle par rapport à celle de base 800x600
Ce qui donne ceci adapté à cet exemple.

Code : Tout sélectionner

[spoiler=]#Include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $CoefW, $CoefH, $Width = 800, $Height = 600
Local $iCheckboxState = 0,$iCheckboxState2 = 0
$CoefW = @DesktopWidth / $Width
$CoefH = @DesktopHeight / $Height


Switch @DesktopHeight
    case 600
        $AvantCoche = ""
;   case 720,768,864,900,960,1024,1050,1080
    case else
        $AvantCoche = " "
EndSwitch

        GUICreate("2 checkboxes", 600, 200)
    Local $Checkbox1 = GUICtrlCreateLabel("", 20, 20,  int(22*$CoefH), int(22*$CoefH), -1, $WS_EX_CLIENTEDGE)
    GuiCtrlSetFont(-1, 9*$CoefW, 600, 0, "Arial Unicode MS")
    GUICtrlSetBkColor(-1, 0x00FF00)
    GUICtrlCreateLabel("Grosse case à cocher hyper bien faite", 90, 20, 400, 35)
     GuiCtrlSetFont(-1, 10*$CoefW, 600, 0, "Calibri")

    Local $Checkbox2 = GUICtrlCreateLabel("", 20, 90,  int(22*$CoefH), int(22*$CoefH), -1, $WS_EX_CLIENTEDGE)
    GuiCtrlSetFont(-1, 9*$CoefW, 600, 0, "Arial Unicode MS")
    GUICtrlSetBkColor(-1, 0xFFFF00)
    GUICtrlCreateLabel(" Seconde Grosse case à cocher hyper bien faite", 90, 90, 500, 35)
    GuiCtrlSetFont(-1, 10*$CoefW, 600, 0, "Calibri")

    GUISetState()
    While 1
        $msg = GUIGetMsg()
        Switch $msg                                                                     ; coche = HTML-code: &#10003;
            Case $GUI_EVENT_CLOSE
                Exit
            Case $Checkbox1
                $iCheckboxState = Not $iCheckboxState
                GUICtrlSetData($Checkbox1, ($iCheckboxState ?   $AvantCoche & ChrW(10004) : "") )
                MsgBox(0, "", "La case 1 " & ($iCheckboxState ? "est" : "n'est pas") & " cochée.")
                  GUICtrlSetData($Checkbox1, ($iCheckboxState ? " "  : "") )
                    $iCheckboxState = 0
            Case $Checkbox2
                $iCheckboxState2 = Not $iCheckboxState2
                GUICtrlSetData($Checkbox2, ($iCheckboxState2 ?  $AvantCoche & ChrW(10003) : "") )
                 MsgBox(0, "", "La case 2 " & ($iCheckboxState2 ? "est" : "n'est pas") & " cochée.")
                GUICtrlSetData($Checkbox2, ($iCheckboxState2 ? " "  : "") )
                $iCheckboxState2 = 0
        EndSwitch
    WEnd
Exit[/spoiler]
Faut affiner un peu mais le résultat n'est pas mal.
Suis en train de mettre en application sur un de mes programmes que j'adapte à toutes les résolutions écrans, donc je revois tout.
Tous les boutons ont été refaits avec Udf StringSize, toutes les fenêtres adaptées à la résolution ainsi que les labels et mes cartes (à jouer).

Bonne soirée
Répondre