Page 1 sur 1

[R] Un bouton avec deux actions : Start/Stop 1 en 2

Posté : ven. 26 févr. 2021 18:04
par Boulanza
Bonjour,
Je cherche la solution pour créer un bouton avec deux actions : Start/Stop ==> 1 en 2
Je m'explique: lorsque je clique sur le bouton start (pour exécuter une application) il change en Stop (pour quitter l'application).
Merci pour votre aide.
Cordialement.

Re: [..] Un bouton avec deux actions : Start/Stop 1 en 2

Posté : ven. 26 févr. 2021 18:37
par jl56
Bonjour à tous,

J'ai eu ce besoin pour un de mes scripts
il faut créer 2 boutons De même taille, placé exactement au même endroit
ensuite vous affichez l'un ou l'autre.

#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 615, 437, 192, 124)
GUISetFont(14, 800, 0, "MS Sans Serif")
Global $But_marche = GUICtrlCreateButton("Marche", 71, 88, 194, 52)
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetBkColor(-1, 0x00FF00)
Global $But_arret = GUICtrlCreateButton("Arret", 71, 88, 194, 52)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

GUICtrlSetState($But_marche, $GUI_SHOW)
GUICtrlSetState($But_arret, $GUI_HIDE)

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


      Case $But_marche

         GUICtrlSetState($But_marche, $GUI_HIDE)
         GUICtrlSetState($But_arret, $GUI_SHOW)


      Case $But_arret
         GUICtrlSetState($But_marche, $GUI_SHOW)
         GUICtrlSetState($But_arret, $GUI_HIDE)

   EndSwitch
WEnd
Cordialement,

jl56

Re: [..] Un bouton avec deux actions : Start/Stop 1 en 2

Posté : ven. 26 févr. 2021 19:01
par Boulanza
Bonsoir jl56,
Merci infiniment pour votre aide.
Je considère le sujet clos.
Cordialement.

Re: [R] Un bouton avec deux actions : Start/Stop 1 en 2

Posté : ven. 26 févr. 2021 20:18
par jchd
Un seul bouton fait au moins aussi bien l'affaire :

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 615, 437, 192, 124)
GUISetFont(14, 800, 0, "MS Sans Serif")
Global Const $_ON = 'Marche', $_OFF = 'Arrêt'
Global $ButOnOff = GUICtrlCreateButton($_ON, 71, 88, 194, 52)
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetBkColor(-1, 0x00FF00)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $ButOnOff
			If GUICtrlRead($ButOnOff) = $_ON Then
				GUICtrlSetData($ButOnOff, $_OFF)
				GUICtrlSetColor(-1, 0xFFFFFF)
				GUICtrlSetBkColor(-1, 0xFF0000)
			Else
				GUICtrlSetData($ButOnOff, $_ON)
				GUICtrlSetColor(-1, 0x000000)
				GUICtrlSetBkColor(-1, 0x00FF00)
			EndIf
	EndSwitch
WEnd

Re: [R] Un bouton avec deux actions : Start/Stop 1 en 2

Posté : sam. 27 févr. 2021 00:37
par Boulanza
Bonsoir,
Ces remarques concernent le code de jchd et non celui de jl56 qui marche parfaitement sans souci.
Avec "GUICtrlCreateTabItem" le changement de couleur est impossible.
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x0002E1)
ne sont pas adaptés pour fonctionner avec "GUICtrlCreateTabItem"
Y a t'il une solution à cela ?
Cordialement.

Re: [R] Un bouton avec deux actions : Start/Stop 1 en 2

Posté : sam. 27 févr. 2021 08:58
par Boulanza
Bonjour,
Pour LE code de jchd: Suite des remarques
J'ai aussi testé _GUICtrlTab_SetBkColor($hGUI, $PageControl1, 0xFFC0C0) mais en vain.
Votre aide afin de résoudre ce problème.
Cordialement.

Re: [R] Un bouton avec deux actions : Start/Stop 1 en 2

Posté : sam. 27 févr. 2021 17:14
par mikell
Boulanza a écrit : sam. 27 févr. 2021 00:37Y a t'il une solution à cela ?
Peut-être, si vous prenez la peine de nous fournir un code fonctionnel reproduisant le problème

Re: [R] Un bouton avec deux actions : Start/Stop 1 en 2

Posté : dim. 28 févr. 2021 13:51
par Boulanza
Bonjour mikell,
Le problème vient du codage de mon scripte. Le code de jchd marche aussi parfaitement.
Cordialement.