multi fenêtrage $sMsg

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Avatar du membre
Nicoloquinte
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 15 juil. 2016 10:57
Contact :
Status : Hors ligne

multi fenêtrage $sMsg

#1

Message par Nicoloquinte » ven. 15 juil. 2016 12:52

Hey, :D

je me suis baladé sur internet , les forums , le wiki , mais pas grand chose répond à ma question :?:
Comment avoir deux fenêtres , et faire en sorte q'une se comporte comme une $MsgBox , c'est a dire , quand je clique sur sa croix , elle se ferme ,
pour l'instant , elle ferme tout le programme,
j'ai réussi avec un bouton a la cacher , mais , comment m’approprier la croix :cry: comment peut on la nommer en fonction des GUIs

voila un petit aperçu (très petit , le code faisait 300 lignes :mrgreen: )

[codeautoit]$GamepadTest = GUICreate("Gamepad Test", 820, 458, 161, 200, $GUI_SS_DEFAULT_GUI)



$File = GUICtrlCreateMenu("Fichier")
$Edit = GUICtrlCreateMenu("Edition"&@TAB)
$speedbaud = GUICtrlCreateMenu("Vitesse /!\", $Edit)
$Tools = GUICtrlCreateMenu("Outils"&@TAB)

$Help = GUICtrlCreateMenu("Aide"&@TAB)
$helpsub = GUICtrlCreateMenuItem("Aide F1"&@TAB, $Help)
$Aboutmenu = GUICtrlCreateMenuItem("À Propos", $Help) ; le fameux <---------------------------------------------------------------------
$Exit = GUICtrlCreateMenu("Quitter"&@TAB)
Dim $Form1_AccelTable[6][2] = [["^f", $File],["^e", $Edit],["^o", $Tools],["^a", $Help],["{F1}", $helpsub],["^q", $Exit]]
GUISetAccelerators($Form1_AccelTable)






GUISetState(@SW_SHOW,$GamepadTest)
$About = GUICreate("About", 332, 241, 302, 218)
$GroupBox1 = GUICtrlCreateGroup("", 8, 8, 305, 185)
$Image1 = GUICtrlCreatePic("C:\Users\nicol\Pictures\logoapp.jpg", 16, 24, 113, 89)
$Label1 = GUICtrlCreateLabel("Gamepad Speedgaming", 152, 24, 118, 17)
$Label2 = GUICtrlCreateLabel("Version : 00000", 152, 48, 78, 17)
$Label4 = GUICtrlCreateLabel("/\/\/\/\/\", 16, 160, 177, 17)
$Label3 = GUICtrlCreateLabel("Copyright : gratuit , pas de licence", 16, 136, 164, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$AboutOK = GUICtrlCreateButton("&OK", 124, 208, 75, 25, 0)
GUISetState(@SW_HIDE,$About)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Aboutmenu

GUISetState(@SW_SHOW, $About)
Case $AboutOK
GUISetState(@SW_HIDE, $About)
EndSwitch
WEnd[/codeautoit]
Nico ¤_¤

Avatar du membre
orax
Modérateur
Modérateur
Messages : 1454
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Contact :
Status : Hors ligne

Re: multi fenêtrage $sMsg  

#2

Message par orax » ven. 15 juil. 2016 13:01

Voir l'exemple 2 de la fonction GUIGetMsg. Deux fenêtres sont utilisées.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)

Avatar du membre
Nicoloquinte
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 15 juil. 2016 10:57
Contact :
Status : Hors ligne

Re: multi fenêtrage $sMsg

#3

Message par Nicoloquinte » ven. 15 juil. 2016 13:11

merci beaucoup, mais , je comprend pas beaucoup le code

[codeautoit]While 1
; Assign to $aMsg the advanced GUI messages.
$aMsg = GUIGetMsg($GUI_EVENT_ARRAY)

; Switch from GUIs
Switch $aMsg[1]
Case $hGUI1
; The event comes from the GUI1

; Switch from event ID
Switch $aMsg[0]
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idButton1
MsgBox($MB_SYSTEMMODAL, "", "Button1 clicked.")
EndSwitch
Case $hGUI2
; The event comes from the GUI2

; Switch from event ID
Switch $aMsg[0]
Case $GUI_EVENT_CLOSE
GUIDelete($hGUI2)
Case $idButton2
MsgBox($MB_SYSTEMMODAL, "", "Button2 clicked.")
EndSwitch
EndSwitch
WEnd

; Delete the previous GUIs and all controls.
GUIDelete($hGUI1)
EndFunc ;==>Example[/codeautoit]
Nico ¤_¤

Avatar du membre
Nicoloquinte
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 15 juil. 2016 10:57
Contact :
Status : Hors ligne

Re: multi fenêtrage $sMsg

#4

Message par Nicoloquinte » ven. 15 juil. 2016 13:13

Haaaa non merci beaucoup , jai fait le lien , C'est bon merci beaucoup :D :D :D :D :D :D :D :D 8) :lol: :mrgreen:
Nico ¤_¤

Répondre