Jump to content

Recommended Posts

$interface = GUICreate("interface",350,221,-1,-1,-1,-1)
GUISetBkColor(0xFFFFFF,$interface)
GUICtrlCreateCheckbox("My Text",50,100,150,20,-1,-1)
GUICtrlSetFont(-1,8,700,0,"Transformers Movie")
GUICtrlSetColor(-1,"0xFFFFFF")

GUISetState(@SW_SHOW,$interface)

 

Olá amigos! estou tendo problemas em alterar a cor da fonte (no caso a letra) do texto da checkbox, não importa qual cor tento colocar sempre permanece preto...

Share this post


Link to post
Share on other sites

Aqui funcionou normalmente... a unica coisa era que o fundo da gui esta branco e a fonte tambem

$interface = GUICreate("interface",350,221,-1,-1,-1,-1)
GUISetBkColor(0xFFFFFF,$interface)
GUICtrlCreateCheckbox("My Text",50,100,150,20,-1,-1)
GUICtrlSetFont(-1,14,700,0,"Transformers Movie")
GUICtrlSetColor(-1,"0x0000FF")
GUISetState(@SW_SHOW)

While 1
	Sleep(10)
WEnd
Edited by mutleey

Share this post


Link to post
Share on other sites
#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiButton.au3>
#include <ComboConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <TabConstants.au3>

$interface = GUICreate("interface",350,221,-1,-1,-1,-1)
GUISetBkColor(0x000000, $interface)
GUICtrlCreateCheckbox("My Text",50,100,150,20,-1,-1)
GUICtrlSetFont(-1,14,700,0,"Transformers Movie")
GUICtrlSetColor(-1,"0xFFFFFF")
GUISetState(@SW_SHOW)


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

	EndSwitch
WEnd
 

Meu autoit está com problemas.. eu executo esse codigo acima.. o fundo esta preto e a letra nao nao ficar branca e nem em outra cor... teria como me mandar uma copia do seu autoit para mim?

Share this post


Link to post
Share on other sites

Olá Carlos Henrique Cerqueira.

 

Não é o seu AutoIt que está com bug, quem tem bug é a função GUICtrlCreateCheckbox.

Por algum motivo, ela não aceita a modificação da cor do texto como deveria.

A solução temporária (workaround) é forçar o Windows a atualizar os controles gráficos antes de ativar a janela.

#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiButton.au3>
#include <ComboConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <TabConstants.au3>
 
$interface = GUICreate("interface",350,221,-1,-1,-1,-1)
GUISetBkColor(0x000000, $interface)
GUICtrlCreateCheckbox("My Text",50,100,150,20,-1,-1)
GUICtrlSetFont(-1,14,700,0,"Transformers Movie")
GUICtrlSetColor(-1,"0xFFFFFF")

; ESTA LINHA FAZ A MÁGICA ACONTECER (pelo menos até consertarem este bug na próxima versão)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle(-1), "wstr", 0, "wstr", 0)

GUISetState(@SW_SHOW)
 
 
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
 
	EndSwitch
WEnd
  

Também recomendo, por motivos de clareza do código usar as constantes que ficam no ColorConstants.au3, porque daí:

GUICtrlSetColor(-1, "0xFFFFFF")

vira

GUICtrlSetColor(-1, $COLOR_WHITE)

e assim por diante...

 

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×