Page 1 sur 1
[R] _GUICtrlHeader_*, problème bizarre...
Posté : sam. 22 janv. 2011 03:24
par matwachich
Encore moi!
Un truc bizarre avec les GuiCtrlHeader!
Voici le code (c'est l'exemple de la doc pour la fonction _GUICtrlHeader_AddItem)
Code : Tout sélectionner
#include <GuiConstantsEx.au3>
#include <GuiHeader.au3>
Opt('MustDeclareVars', 1)
$Debug_HDR = False ; Check ClassName being passed to functions, set to True and use a handle to another control to see it work
_Main()
Func _Main()
Local $hGUI, $hHeader
; Create GUI
$hGUI = GUICreate("Header", 400, 300)
$hHeader = _GUICtrlHeader_Create ($hGUI)
GUISetState()
; Add columns
_GUICtrlHeader_AddItem ($hHeader, "Column 1", 100)
_GUICtrlHeader_AddItem ($hHeader, "Column 2", 100)
_GUICtrlHeader_AddItem ($hHeader, "Column 3", 100)
_GUICtrlHeader_AddItem ($hHeader, "Column 4", 100)
; Loop until user exits
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
Le texte dans les boutons du header est en chinois! (sans rire! au sens propre!)
Alors j'aimerai bien comprendre...
MERCI
Re: [..] _GUICtrlHeader_*, problème bizarre...
Posté : sam. 22 janv. 2011 11:08
par jchd
Ajoute
_GUICtrlHeader_SetUnicodeFormat($hHeader, 1)
avant GuiSetState
Je pense que c'est le choix de la fonte par défaut (17 ???) qui déconne. Forcer Unicode aide un peu mais si c'est bien cela, il faut changer l'UDF standrad pour utiliser une fonte correcte (en fonction de la locale en vigueur).
Re: [..] _GUICtrlHeader_*, problème bizarre...
Posté : sam. 22 janv. 2011 11:24
par matwachich
En effet, c'est bien ça! MERCI
Re: [..] _GUICtrlHeader_*, problème bizarre...
Posté : sam. 22 janv. 2011 11:24
par Tlem
Grillé sur le poteau ...
Effectivement, en regardant l'include
GuiHeader.au3, on s’aperçoit de l'utilisation de
_GUICtrlHeader_GetUnicodeFormat dans la fonction qui nous intéresse.
Et de ceci dans l'entête de l'include :
Re: [R] _GUICtrlHeader_*, problème bizarre...
Posté : sam. 22 janv. 2011 11:43
par matwachich
Bah au fait, moi, j'ai pas touché à $__HEADERCONSTANT_DEFAULT_GUI_FONT, mais j'ai modifier la dernière ligne de la fonction _GUICtrlHeader_Create:
Code : Tout sélectionner
; C'était:
_GUICtrlHeader_SetUnicodeFormat($hHeader, False)
; J'ai mis:
_GUICtrlHeader_SetUnicodeFormat($hHeader, True)
Et ça marche!
Re: [R] _GUICtrlHeader_*, problème bizarre...
Posté : sam. 22 janv. 2011 12:00
par Tlem
Bin oui, c'est ce que jchd vous a indiqué !!!
Et c'est comme cela qu'il faut le faire.
Par contre jchd parlait de la variable $__HEADERCONSTANT_DEFAULT_GUI_FONT, mais je n'ai pas trouvé à quoi correspondait le 17.
C'était donc un appel à plus de renseignements à l'attention de jchd et non de vous.

Re: [R] _GUICtrlHeader_*, problème bizarre...
Posté : sam. 22 janv. 2011 13:06
par jchd
Objectivement aucune idée sur la numérotation des fontes par Windows. Je n'ai pas trop envie de labourer MSDN pendant des plombes pour ça. Il faut peut-être tenter de commenter cette ligne et voir ce que ça donne par défaut, car je vois mal comment un numéro fixe (17 ou autre) peut s'accorder avec une locale lithanienne, française ou thaï.
Ce bout de code date peut-être de W98, qui sait.
Re: [R] _GUICtrlHeader_*, problème bizarre...
Posté : sam. 22 janv. 2011 18:05
par Tlem
Je ne pense pas qu'il soit nécessaire de modifier
$__HEADERCONSTANT_DEFAULT_GUI_FONT car si on utilise
_GUICtrlHeader_SetUnicodeFormat($hHeader, True), cela fonctionne et on ne modifie pas la fonte ...
Par contre en fouillant un peu, dans la fonction
_GUICtrlHeader_Create de l'include
GuiHeader.au3, on peut lire juste avant le
Return ceci :
Il suffit donc de modifier le comportement par défaut et de changer le False par un True.

Re: [R] _GUICtrlHeader_*, problème bizarre...
Posté : sam. 22 janv. 2011 19:33
par jchd
Certes mais forcer une fonte chinoise (17 ?) ne me semble pas idéal. Il doit y avoir un loup. Il y a une révision de l'aide et des exemples associés en cours et j'y ai soumis la chose. Un chirurgien s'en occupera certainement.
En attendant et pour éviter d'avoir à modifier un include standard, le choix était de changer ce flag avant affichage.
Re: [R] _GUICtrlHeader_*, problème bizarre...
Posté : dim. 23 janv. 2011 15:09
par Tlem
+1