Page 1 sur 1
Supprimer ou rendre inefficace control dans une Tab
Posté : lun. 16 mars 2020 20:36
par littlechiki
Bonjour,
Je crée une application avec un
GUICtrlCreateTab
et j'aimerai savoir, est-ce qu'il serait possible de rendre un bouton inactif sur une seule tab ?
Par exemple,
Code : Tout sélectionner
GUICreate("",300,300)
$button = GUICtrlCreateButton("",100,100,100,100)
GUICtrlCreateTab(0,0,300,20)
GUICtrlCreateTabItem("Machin")
GUICtrlCreateTabItem("Bidule")
GUICtrlCreateTabItem("Truc")
Serait-il possible de retirer le bouton mais uniquement sur la tab truc ?
Re: Supprimer ou rendre inefficace control dans une Tab
Posté : lun. 16 mars 2020 21:59
par Tlem
Bonsoir.
Une solution
ici.
Re: Supprimer ou rendre inefficace control dans une Tab
Posté : mar. 17 mars 2020 12:47
par littlechiki
Bon j'ai bien compris le code envoyé et je comprend pourquoi ça marche mais en essayant de faire quelque chose d'un peu différent, ça ne marche pas.
Personnellement, j'aimerai désactiver seulement un bouton donc j'ai :
#include <GUIConstantsEx.au3>GUICreate("",300,300)$button = GUICtrlCreateButton("",100,100,100,100)$tab = GUICtrlCreateTab(0,0,300,20)GUICtrlCreateTabItem("Machin")GUICtrlCreateTabItem("Bidule")GUICtrlCreateTabItem("Truc")GUISetState(@SW_SHOW)While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $tab If GUICtrlRead($tab) = "Truc" Then GUICtrlSetState($button,128); Bouton désactivé Else GUICtrlSetState($button,64);Bouton activé Endif EndSwitchWEnd
Mais ça ne marche pas et je ne comprend pas pourquoi...
Re: Supprimer ou rendre inefficace control dans une Tab
Posté : mar. 17 mars 2020 14:20
par TommyDDR
Quand vous faites un if, et que ça ne fonctionne pas, prenez l'habitude d'afficher ce que vous testez :
ConsoleWrite(GUICtrlRead($tab) & @CRLF)
Vous verrez que cela vous retourne le numéro de l'onglet (0, 1, 2) et non pas le texte de l'onglet.
Ce qui est confirmé par l'aide de GUICtrlRead :
Tab | The index of the selected tabitem (0-based)
Remplacez :
If GUICtrlRead($tab) = "Truc" Then
par :
If GUICtrlRead($tab) = 2 Then
Et le tour est joué.
Re: Supprimer ou rendre inefficace control dans une Tab
Posté : mar. 17 mars 2020 14:34
par littlechiki
Définitivement merci. En fait je n'avais jamais utilisé le ConsoleWrite
et je vais maintenant l'utiliser plus pour des test et autres. Merci beaucoup !