[R] _GUICtrlHeader_*, problème bizarre...

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

[R] _GUICtrlHeader_*, problème bizarre...

#1

Message 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
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] _GUICtrlHeader_*, problème bizarre...

#2

Message 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).
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] _GUICtrlHeader_*, problème bizarre...

#3

Message par matwachich »

En effet, c'est bien ça! MERCI
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] _GUICtrlHeader_*, problème bizarre...

#4

Message par Tlem »

Grillé sur le poteau ... :lol:
Effectivement, en regardant l'include GuiHeader.au3, on s’aperçoit de l'utilisation de _GUICtrlHeader_GetUnicodeFormat dans la fonction qui nous intéresse. :roll:
Et de ceci dans l'entête de l'include :

Code : Tout sélectionner

Global Const $__HEADERCONSTANT_DEFAULT_GUI_FONT = 17
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [R] _GUICtrlHeader_*, problème bizarre...

#5

Message 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!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] _GUICtrlHeader_*, problème bizarre...

#6

Message par Tlem »

:shock:
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. :P
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] _GUICtrlHeader_*, problème bizarre...

#7

Message 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.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] _GUICtrlHeader_*, problème bizarre...

#8

Message 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 :

Code : Tout sélectionner

_GUICtrlHeader_SetUnicodeFormat($hHeader, False)
:roll:

Il suffit donc de modifier le comportement par défaut et de changer le False par un True. 8)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] _GUICtrlHeader_*, problème bizarre...

#9

Message 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.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] _GUICtrlHeader_*, problème bizarre...

#10

Message par Tlem »

+1
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre