Positionner un RadioBox par défaut

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Izarra6492
Niveau 1
Niveau 1
Messages : 6
Enregistré le : sam. 21 mars 2020 12:26
Status : Hors ligne

Positionner un RadioBox par défaut

#1

Message par Izarra6492 »

Bonjour

je suis en train de finaliser une GUI toute simple, qui permet :
- de lister sous forme de bouton radio tous les fichiers répondant à un critère (*.ini)
- de choisir par OK ou Cancel le bouton radio de son choix
j'ai repris pour cela un code assez vieux de gestion des GUI
peut être fait on mieux, plus simple, plus efficace aujourd'hui ?
je suis preneur de toute remarque me permettant d'optimizer cela !
Aujourd'hui, ce GUI fonctionne correctement, mais on est obligé de cliquer au moins une fois sur un des boutons radios
et aussi, il faut cliquer sur le bouton GO pour lancer le processus
Je souhaiterais rajouter 2 options à cette GUI :
- Rajout 1: Se Positionner par défaut le bouton radio correspondant à un critère
- soit le fichier le plus ancien en terme de date/heure
- soit le dernier fichier par ordre alphabétique
- Rajout 2: affecter à la touche ENTER le click sur GO

en effet, dans 99% des cas, la manipulation consistera à valider le bouton radio du fichier le plus récent et à valider par GO
si le bouton radio du fichier le plus récent est déjà sélectionné, il ne me reste plus qu'à appuyer sur ENTER !
cela m'éviterait d'avoir à cliquer sur le bouton radio, puis de cliquer sur GO !!

merci de votre aide !!! :)

Code : Tout sélectionner

#include <ColorConstants.au3>
#include <FontConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#Include <File.au3>
#Include <Array.au3>


HotKeySet( "{ESC}", "_ExitESC")
Global $FontName="arial"	;"nyala"
Global $FontSize=12
Global $Title="GUI Tester"&"("&@DesktopWidth&"x"&@DesktopHeight&")"
Global $check_all, $valids, $valid_nb
dim $checks[100][3]        ; crée une array pour les checkbox (ID + dossier)
Prereq()
Init()
CreateGUI()
RunGUI()
Exit

Func CreateGUI()
Global $hGUI = GUICreate($Title, 800,600)
    ;GUICtrlCreateLabel("File Selection", 100, 60, 300, 200)
	;GUICtrlSetFont(-1, $FontSize, $FW_NORMAL, "", $FontName) ; Set the font of the previous control.
global $nb = $FileList[0]         ; nb de fichiers trouvés

;_ArrayDisplay($checks,"liste dossiers")  ; vérification
For $i = 1 to $nb
    $name = StringUpper($filelist[$i])
	$checks[$i][0] = GUICtrlCreateRadio($name, 200, 100+$i*40, 300, 25)
    GUICtrlSetFont(-1, $FontSize-1, $FW_NORMAL, "", $FontName) ; Set the font of the previous control.
    $checks[$i][1] = $Name
Next
;_ArrayDisplay($checks,"verif $checks")  ; vérification
global $btn_valid  = GuiCtrlCreateButton($ButtonOK,     200, 350, 100, 50)
global $btn_cancel = GuiCtrlCreateButton($ButtonCancel, 400, 350, 100, 50)
; ORI GUICtrlCreatePic("Menu.jpg",400,50,200, 150) ;Affiche l'image dans ta GUI
GuiSetState(@SW_SHOW, $hGUI)
EndFunc

Func RunGUI()
While 1
$msg = GuiGetMsg()
Switch $msg
   Case $GUI_EVENT_CLOSE
        Exit
	 Case $btn_cancel
          Exit
     Case $btn_valid
		 ;msgbox(0,"btn_valid","ok")
		 Dim $valids[$nb+1][3]   ; crée une array pour les checkbox cochées (ID + dossier)
        $valid_nb = 0
        For $i = 1 To $nb
            If BitAnd(GUICtrlRead($checks[$i][0]), $GUI_CHECKED) = $GUI_CHECKED Then
                $valids[$valid_nb][0] = $checks[$i][0]
                $valids[$valid_nb][1] = $checks[$i][1]
			    $Val=$i
			    $Myfile=$valids[0][1]
		        $valid_nb += 1
            EndIf
		 Next

		 _Run_Install()      ; lance l'install

	exit
EndSwitch
Wend
EndFunc

Exit
Func Prereq()
; Creating sample files to make it easier ...
filewrite("Fichier A.ini","OK")
filewrite("Fichier B.ini","OK")
filewrite("Fichier C.ini","OK")

EndFunc


Func Init()
Global $ButtonOK="GO", $ButtonCancel="NO GO", $Title, $TitleTextEnd,$WaitingText, $MsgText, $GuiMode=""
global $Myfile
global $FileList = _FileListToArray(@ScriptDir, "*.ini", 1)  ; liste les fichiers correspondant au masque
;_ArrayDisplay($FileList,"liste fichiers")  ; vérification
EndFunc


Func _Run_Install()
msgbox(0,"Will Run Install ",$MyFile)

EndFunc


Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11557
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Positionner un RadioBox par défaut

#2

Message par Tlem »

Bonsoir Izarra6492
Même réponse qu'ici.

Bonne soirée.
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é".

Répondre