Bug ou pas d'Autoit ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Capablanca
Niveau 3
Niveau 3
Messages : 41
Enregistré le : mar. 08 juil. 2014 13:44
Status : Hors ligne

Bug ou pas d'Autoit ?

#1

Message par Capablanca » mar. 26 mars 2019 14:47

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.

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5869
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Bug ou pas d'Autoit ?

#2

Message par mikell » mar. 26 mars 2019 22:01

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)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

Capablanca
Niveau 3
Niveau 3
Messages : 41
Enregistré le : mar. 08 juil. 2014 13:44
Status : Hors ligne

Re: Bug ou pas d'Autoit ?

#3

Message par Capablanca » jeu. 28 mars 2019 14:25

Merci mikell pour ta réponse.
Tant pis pour un texte en couleur dans un bouton, le noir suffira.

marcgforce
Niveau 3
Niveau 3
Messages : 38
Enregistré le : lun. 07 mars 2016 07:20
Status : Hors ligne

Re: Bug ou pas d'Autoit ?

#4

Message par marcgforce » jeu. 22 août 2019 17:34

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

Répondre