Français Solved Comment changer la taille du texte "Quitter" ?

  • Auteur de la discussion Auteur de la discussion Alfresole
  • Date de début Date de début

Alfresole

User
30/4/20
55
3
2
300
Hello tout le monde,

J'aimerai changé la taille du texte "Quitter" ( en rouge en haut a droite).


J'ai ça :

Code:
        class GangLeave: Life_RscButtonMenu {
            idc = -1;
            text = "$STR_Gang_Leave";
            onButtonClick = "[] call life_fnc_gangLeave";
            x = 0.72;
            y = 0.165;
            w = (11 / 40);
            h = (2 / 25);
                colorText[] = {0,0,0,1};
             colorDisabled[] = {0.3,0.3,0.3,1};
    colorBackground[] = {244,0,0,1};
    colorBackgroundDisabled[] = {0.6,0.6,0.6,1};
    colorBackgroundActive[] = {1,0.5,0,1};
        };

J'ai ajouté sizeEx = 0.045 (juste en dessous de text = ....), j'ai changé les valeurs mais la taille du texte ne bouge pas.
Donc voilà siquelqu'un sait comment ajuster la taille du texte et le mettre au milieu du bouton je suis preneur ;)
 
Solution
Le texte dans le bouton de base n'est pas un structured text. Du coup, le stringtable ne marchera pas dessus, mais au cas où, il peut fonctionner sur les structured text déjà existant si besoin :)

Ensuite c'est simple, il suffit juste d'ajouter la même chose qu'avec quitter, mais pour augmenter slots. En gros, tu sépare avec un point-virugle. Imagine toi que ce qu'il y a dans onLoad, c'est un fichier ^^ Tu code, comme tu coderai dans un .sqf C'est du code qui s'execute au chargement du menu le onLoad. Et ensuite important, si tu met des guillemets, quand c'est dans le onLoad, il faut mettre double guillemets ou une apostrophe. (Exemple : hint ""tata"" // OU // hint 'tata'). Vu que les guillemets seul sont la zone où tu code.
Code:
onLoad...
Dans ton stringtable.xml, là où se trouve ton "$STR_Gang_Leave", tu met ca :

Code:
<French>&lt;t size='0.7'&gt;Quitter&lt;/t&gt;</French>

&lt; c'est comme si c'était <
&gt; c'est comme si c'était >

Au final c'est comme si tu avait écris ca :
Code:
<t size='0.7'>Quitter</t>

----------------------------------------------------------

Si ca ne fonctionne pas, tu peux aussi définir le texte lors de l'execution de ton menu.
Pour faire ca, tu attribut un IDC à ton button, donc à la place de :
Code:
idc = -1;
Tu met style :
Code:
idc = 5152;
Et ensuite, il te suffit simplement de faire ca en haut de ton .hpp (Style après ton idd) :
Code:
onLoad = "((_this select 0) displayCtrl 5152) ctrlSetStructuredText parseText format[""<t size='0.7'>Quitter</t>""];";

----------------------------------------------------------

Du coup avec tout ca, tu peux faire aussi d'autre choses, comme changer la police d'écriture, etc...
 
Dernière édition:
Hello,

Merci, cela fonctionne avec OnLoad uniquement
J'ai tout essayé dans stringtable mais rien ne fonctionne.
Bref ça fonctionne mais du coup comment on peut en mettre 2 différents ?

Je m'explique : Je veux changer la taille du "Quitter" et du "Augmenter slots" sur le on load, j'ai essayé &&, j'ai essayé la virgule, de nombreuses choses mais j'ai pas trouvé.

PS : est-ce possible de centrer le "Quitter" ? Au milieu du bouton

Merci d'avance
 
Dernière édition:
Le texte dans le bouton de base n'est pas un structured text. Du coup, le stringtable ne marchera pas dessus, mais au cas où, il peut fonctionner sur les structured text déjà existant si besoin :)

Ensuite c'est simple, il suffit juste d'ajouter la même chose qu'avec quitter, mais pour augmenter slots. En gros, tu sépare avec un point-virugle. Imagine toi que ce qu'il y a dans onLoad, c'est un fichier ^^ Tu code, comme tu coderai dans un .sqf C'est du code qui s'execute au chargement du menu le onLoad. Et ensuite important, si tu met des guillemets, quand c'est dans le onLoad, il faut mettre double guillemets ou une apostrophe. (Exemple : hint ""tata"" // OU // hint 'tata'). Vu que les guillemets seul sont la zone où tu code.
Code:
onLoad = "((_this select 0) displayCtrl 5152) ctrlSetStructuredText parseText format[""<t size='0.7'>Quitter</t>""]; ((_this select 0) displayCtrl ICITUDOISMETTRELEIDCDUBOUTONAUGMENTERSLOT) ctrlSetStructuredText parseText format[""<t size='0.7'>Augmenter Slots</t>""];";

Oublie pas d'attribuer un IDC au bouton "Augmenter Slots" dans le hpp et de le changer aussi dans le code ("ICITUDOISMETTRELEIDCDUBOUTONAUGMENTERSLOT").

Ensuite pour aligner ton bouton quitter, il suffit juste de faire un align='center'

En gros, ton code donne ca au final :
Code:
onLoad = "((_this select 0) displayCtrl 5152) ctrlSetStructuredText parseText format[""<t size='0.7' align='center'>Quitter</t>""]; ((_this select 0) displayCtrl ICITUDOISMETTRELEIDCDUBOUTONAUGMENTERSLOT) ctrlSetStructuredText parseText format[""<t size='0.7' align='center'>Augmenter Slots</t>""];";

Je l'ai appliqué sur tes deux boutons. Après pour centrer verticalement, Arma à enlever cette fonctionnalité. Donc je ne crois pas que ce sois possible, à moins que ce soit un truc dont je n'ai pas connaissance, mais voilà.

------------------------

Suppléments :
Si tu veux un peu plus comprendre, il se forme comme ca :

Code:
onLoad = "
((_this select 0) displayCtrl 5152) ctrlSetStructuredText parseText format[""<t size='0.7'>Quitter</t>""];
((_this select 0) displayCtrl ICITUDOISMETTRELEIDCDUBOUTONAUGMENTERSLOT) ctrlSetStructuredText parseText format[""<t size='0.7'>Augmenter Slots</t>""];
";

Mais on le laisse sur une ligne car le HPP n'aime pas qu'on mettent sur plusieurs ligne, comparé au SQF

PS : Désolé des fautes d'orthographes, j'ai un peu la flemme de me relire et de tout corriger ce soir ^^.
 
Dernière édition:
Solution
C'est possible de faire beaucoup plus simple avec le paramètre sizeEx dans le bouton :
Code:
class GangLeave: Life_RscButtonMenu {
    idc = -1;
    text = "$STR_Gang_Leave";
    onButtonClick = "[] call life_fnc_gangLeave";
    x = 0.72;
    y = 0.165;
    w = (11 / 40);
    h = (2 / 25);
    colorText[] = {0,0,0,1};
    colorDisabled[] = {0.3,0.3,0.3,1};
    colorBackground[] = {244,0,0,1};
    colorBackgroundDisabled[] = {0.6,0.6,0.6,1};
    colorBackgroundActive[] = {1,0.5,0,1};
    sizeEx = 0.05;
};
 
Oui j'avais déjà essayé, j'ai même copié collé ce que tu viens de faire avec le sizeEx et ça n'a pas marché en copier coller. J'avais evidemment enlevé les onLoad.