[R] StringSize -Affichage
Posté : mer. 18 août 2021 11:45
Bonjour
J'ai extrait d'un programme plus important qq lignes
Mon souci : J'aimerais que mes 2 combobox s'affichent juste derrière message_page2
Si je mets comme position $iY2+25, ca ne fonctionne pas. Si je mets $iY2+200 c'est ok mais ce n'est pas ce que je veux.
Je pense qu'au niveau du paramétrage de la fonction _StringSize, y a qq chose que je fais mal.
QQ peut-il m'aider.
D'avance merci
J'ai extrait d'un programme plus important qq lignes
Code : Tout sélectionner
#include-once
#include <Array.au3>
#include <Stringsize.au3>
#include <Date.au3>
#include <GuiConstantsEx.au3>
global $coefw, $coefh, $width = 800, $height = 600,$nomsall
global $atabcolours[9] = [0x6665fe, 0xffffcd, 0xffc0c0, 0xc0ffc0, 0xc0c0ff, 0xc0c0c0, 0xfeccff, 0xc0d0f0, 0xc0c0ab]
global $message_page2 = "Pour inscrire un joueur ou une équipe, commencez par choisir le type de compétition en cliquant sur une" & _
" compétition valide (Si écrite en gras, les inscriptions sont ouvertes). " & @CRLF & _
"Puis validez la compétition en cliquant sur le bouton ""v"". " & @CRLF & _
"Selon la compétition choisie, 2 zones vont s'afficher : nom prénom et repas." & @CRLF & _
"Choisissez le nom du joueur et la prise de repas (oui ou non) et vous validez." & @CRLF & _
"Si les 2 réponses sont correctes, un tableau récapitulatif va apparaître. Après vérifications, vous ferez disparaître " & _
"le tableau en cliquant sur la croix en haut à droite. " & @CRLF & _
"Un nouvel icône ""+"" va s'afficher et si vous cliquez dessus, vous pourrez à nouveau saisir un nouveau joueur." & @crlf & @crlf & _
"Dans le cas d'une inscription d'équipe (duo), vous verrez 2 zones ""nom"" s'afficher." & @crlf & _
"Si vous avez choisi le ""libre x4"", le logiciel vous affichera 4 zones nom et 4 zones repas." & @crlf & _
"Après validation, en cliquant sur +, vous pourrez saisir une autre équipe." & @crlf & @crlf & _
"Toutes les inscriptions en libre seront automatiquement contrôlées et refusées si hors réglementation." & @crlf & _
"Lorsque toutes les inscriptions seront faites pour un type de compétition, vous devez IMPERATIVEMENT cliquer sur ""Valider Inscriptions (DL)"" pour qu'elles soient prises en compte."
$coefw = @desktopwidth / $width
$coefh = @desktopheight / $height
$font="verdana"
$iX2 = int(@DesktopWidth*.5) ; 50%
$iY2 = int(@DesktopHeight*.5) ; 50 %
for $isize2 = 7 to 13
$msgpage2 = _stringsize($message_page2, $isize2, 400,0, $font, $iX2) ; le rect doit couvrir presque la page en largeur 0,5%
; _arraydisplay($msgpage2, "-isize=" & $isize2 & " ---$m[3]=" & $msgpage2[3] & " - " & $desktopwidthhh*.5 & "--" & @desktopheight*.8)
if $msgpage2[3] > $iY2 then ; le rect doit pas exceder 50% de la hauteur
$isize2 -= 1
exitloop
endif
next
$page = guictrlcreatetab(1,1,@DesktopWidth, @desktopheight)
$Inscriptions = guicreate("Les inscriptions ", @desktopwidth, @desktopheight, 1, 1) ; menu principal
$page2=guictrlcreatetabitem("TEst") ; on crée item donne libre ----------------------------------------------------------------------------------------------------
$ligne200 = guictrlcreatelabel("Choix ""Donne libre"" - date : " & _nowdate(),50,50, 600,30)
guictrlsetfont(-1,10, 800, 4, $font)
guictrlsetcolor(-1, 0x000000)
$menu2 = guictrlcreatelabel("", 10, int(80), $iX2, $iY2) ; la page infos de la page 2
guictrlsetdata($menu2, $msgpage2[0])
guictrlsetfont($menu2, $isize2, 400, 0, $font)
guictrlsetcolor ($menu2, "0x000000" ) ; 000000 = noir l'écriture
$combo200=guictrlcreatecombo("Nom joueur ?", +10, $iY2 + 25,250,20)
GUICtrlSetData(-1, "Item 2|Item 3|Item 4|Item 5|Item 6|Item 7|Item 8|Item 9|Item 10")
guictrlsetbkcolor (-1, 0xffff00)
guictrlsetfont(-1,10, 600, 0, $font)
$combo201=guictrlcreatecombo("Repas ?", +260, $iY2 + 25,110,43)
guictrlsetdata(-1,"Non|Oui")
guictrlsetbkcolor (-1, 0xffff00)
guictrlsetfont(-1,10, 600, 0, $font)
guisetstate(@sw_show)
while 1
$msg = guigetmsg()
switch $msg
case $gui_event_close
guidelete($Inscriptions)
Exit
endswitch
; GUISwitch($Inscriptions,$page4) ; on switche sur la PAGE 0
wend
Si je mets comme position $iY2+25, ca ne fonctionne pas. Si je mets $iY2+200 c'est ok mais ce n'est pas ce que je veux.
Je pense qu'au niveau du paramétrage de la fonction _StringSize, y a qq chose que je fais mal.
QQ peut-il m'aider.
D'avance merci