Page 1 sur 1

[Ex] couleurs dans les textes des GUIs

Posté : lun. 12 mai 2008 08:24
par Nyda
Bonjour
En tant que débutant avec AutoIt, j'ai eu du mal à afficher du texte couloré (de différentes couleurs) dans un GUI car la fonction n'existe pas
Jje partage donc mon expérience afin que le temps passé profite à d'autres :D
Je précisse que cet exemple est (largement) inspiré du script de "RichEdit" (merci à son auteur)
► Afficher le texte
N'étant pas un spécialise du script il y a peut etre des arrangements à faire
En espérant que cela serve à la communauté des AutoItistes ...

Re: [Ex] couleurs dans les textes des GUIs

Posté : lun. 12 mai 2008 09:09
par Tlem
Merci pour ce partage.

Il est vrai qu'il n'y à pas de solution simple pour écrire du texte coloré dans un contrôle.

Par contre, il faut savoir que pour modifier la couleur des contrôles d'une GUI (Label, titre de contrôle, fond, ...) il suffit d'utiliser une des fonctions suivantes (Il existe encore d'autre fonction en rapport avec la couleur dans AutoIt) :

Code : Tout sélectionner

GUICtrlSetColor ( controlID, textcolor)
GUICtrlSetBkColor ( controlID, backgroundcolor )
GUICtrlSetFont (controlID, size [, weight [, attribute [, fontname]]] )
; Ou
_WinAPI_SetTextColor($hDC, $iColor)
_WinAPI_SetBkColor($hDC, $iColor)
_WinAPI_SetFont($hWnd, $hFont[, $fRedraw = True])

Re: [Ex] couleurs dans les textes des GUIs

Posté : lun. 12 mai 2008 13:20
par tolf
N'y-a-t-il pas de moyen de changer la police parce qu'elle n'est pas très esthétique (surtout le gros texte avec de gros pixels) ?

Re: [Ex] couleurs dans les textes des GUIs

Posté : lun. 12 mai 2008 15:54
par Nyda
Si!
le changement de police se fait avec:(par exemple)
SetNameFont("Courier") à mettre juste avant SetSizeFont(32)

Re: [Ex] couleurs dans les textes des GUIs

Posté : lun. 12 mai 2008 17:07
par tolf
Donc en fait il faut remettre le nom de police à peu près à chaque fois (ce que je n'avais pas fait)

Re: [Ex] couleurs dans les textes des GUIs

Posté : lun. 12 mai 2008 19:07
par Nyda
non tu peux la définir pour toute la fenetre en mettant :

Code : Tout sélectionner

; Defini les parametres suivant pour toute la fenetre
$NotAllChar=0
SetNameFont("Courier")   ;! toutes les polices ne marchent pas !
SetSizeFont(20)
SetColorBkG(0)
SetColorBkF(0)

; Puis pour la couleur du texte variable:
$NotAllChar=1
SetColorFont(0xFFFFFF)
.... texte
SetColorFont(0xFF0000)
... texte
Il faut redefinir la couleur si le message texte envoyé fini par @CRLF mais pas s'il est compris à l'intérieur du text

Re: [Ex] couleurs dans les textes des GUIs

Posté : mer. 14 mai 2008 13:46
par tolf
ok merci Nyda

Re: [Ex] couleurs dans les textes des GUIs

Posté : mer. 09 déc. 2009 21:41
par bob
Bonjour,
Je suis plutôt débutant en Autoit...
Je n'arrive pas à faire fonctionner l'exemple mis par Nyda ( écrire un edit avec différentes couleurs,...polices) : la GUI s'affiche, rien ne s'écrit, puis apparaît le message de fin.
La DLL ("MSFTEDIT.DLL") est bien dans System32.
Quelqu'un a-t-il une idée de ce que je pourrais faire ?
D'avance, merci et félicitations pour tout ce que que vous faîtes.
Bob.