Page 1 sur 1

Bug ou pas d'Autoit ?

Posté : mar. 26 mars 2019 14:47
par Capablanca
Bonjour à tous,

Dans mon exemple, je souhaite mettre un texte bleu dans un bouton mais qui soit en bas du bouton ($BS_BOTTOM).

Voici le script :

Code : Tout sélectionner

[#include <WindowsConstants.au3>
#include <FontConstants.au3>
#include <WinAPISys.au3>
#include <ColorConstantS.au3>
#include <GUIConstantsEx.au3>
#include <WinAPITheme.au3>
#include <ButtonConstants.au3>
#include <Color.au3>


	$fen3=GUICreate("Test",180,100,-1,-1,-1,-1)
	;----------------------
	GUISetBkColor(0x748B76)
	GUICtrlSetDefColor(0)
	;----------------------
	GUISetState(@SW_SHOW)
	;----------------------
	Const $sFont = "Arial"
	;----------------------
	$annuler=GUICtrlCreateButton("ANNULER",10,10,140,80,$BS_BOTTOM)
	GUICtrlSetColor($annuler,0x040760)
	GUICtrlSetFont($annuler,19, 400, 0, $sFont)
	;---------
	GUISetState(@SW_SHOW)
	While 1
		$aMsg=GUIGetMsg()
		Switch $aMsg
			Case $annuler
				ExitLoop
		EndSwitch
	Wend
	GUIDelete($fen3)
Le texte du bouton est bleu mais il n'est pas en bas du bouton, donc cela ne marche pas.

Par contre ici le texte est bien en bas du bouton mais il n'est pas bleu :

Code : Tout sélectionner

#include <WindowsConstants.au3>
#include <FontConstants.au3>
#include <WinAPISys.au3>
#include <ColorConstantS.au3>
#include <GUIConstantsEx.au3>
#include <WinAPITheme.au3>
#include <ButtonConstants.au3>
#include <Color.au3>


	$fen3=GUICreate("Test",180,100,-1,-1,-1,-1)
	;----------------------
	GUISetBkColor(0x748B76)
	;GUICtrlSetDefColor(0)
	;----------------------
	GUISetState(@SW_SHOW)
	;----------------------
	Const $sFont = "Arial"
	;----------------------
	$annuler=GUICtrlCreateButton("ANNULER",10,10,140,80,$BS_BOTTOM)
	;GUICtrlSetColor($annuler,0x040760)
	GUICtrlSetFont($annuler,19, 400, 0, $sFont)
	;---------
	GUISetState(@SW_SHOW)
	While 1
		$aMsg=GUIGetMsg()
		Switch $aMsg
			Case $annuler
				ExitLoop
		EndSwitch
	Wend
	GUIDelete($fen3)
En fait en retirant GUISetBkColor(0x748B76) et GUICtrlSetColor($annuler,0x040760), ce qui colore le bouton, cela marche.
Ce qui veut dire, à mon avis, qu'on ne peut pas mettre un texte de couleur dans un bouton et avoir également une extension de style.

Merci à ceux qui savent de m'expliquer pourquoi cela ne fonctionne pas.

Re: Bug ou pas d'Autoit ?

Posté : mar. 26 mars 2019 22:01
par mikell
C'est un très vieux bug, qui ne sera probablement jamais résolu :roll:

Colouring buttons is not a good idea - as several threads have explained in the past. There is a bug deep within the AutoIt core code (which means it will not be fixed any time soon - see #376) which causes all sorts of problems when buttons are coloured - they trap the ENTER key, lose styles as you have discovered) and generally misbehave. In my opinion, best not to colour buttons.
(Forum US, Melba23, 2014)

Re: Bug ou pas d'Autoit ?

Posté : jeu. 28 mars 2019 14:25
par Capablanca
Merci mikell pour ta réponse.
Tant pis pour un texte en couleur dans un bouton, le noir suffira.

Re: Bug ou pas d'Autoit ?

Posté : jeu. 22 août 2019 18:34
par marcgforce
j'ai moi aussi essayé de mettre de la couleur dans les boutons de mon script navigateur à une époque, j'ai fini par les colorier avec une icone