CheckBoxGadget multi-ligne

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

CheckBoxGadget multi-ligne

Message par Le Soldat Inconnu »

Salut,

J'avais un soucis avec un texte trop long dans une case à cocher et je cherchais donc à rendre le CheckBoxGadget multi-ligne
Après un essai sans succès via l'API, il m'est venu une idée toute bête, utiliser la constante Multi-ligne des ButtonGadget en option de mon CheckBoxGadget.

Et bien, vous savez quoi, ça marche :mrgreen:

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu
; Version de PB : 4.50
;
; Explication du programme :
; CheckBoxGadget multi-ligne

; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 200, "CheckBoxGadget multi-ligne", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) = 0
  End
EndIf

CheckBoxGadget(0, 4, 4, 300 - 8, 48, "Une case à cocher avec un texte bien trop long pour tenir sur une seule ligne", #PB_Button_MultiLine)

Repeat
  Event = WaitWindowEvent()
  
Until Event = #PB_Event_CloseWindow
Fred, pourquoi que c'est pas l'aide, ça ?
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: CheckBoxGadget multi-ligne

Message par gnozal »

Le Soldat Inconnu a écrit :Salut,

J'avais un soucis avec un texte trop long dans une case à cocher et je cherchais donc à rendre le CheckBoxGadget multi-ligne
Après un essai sans succès via l'API, il m'est venu une idée toute bête, utiliser la constante Multi-ligne des ButtonGadget en option de mon CheckBoxGadget.

Et bien, vous savez quoi, ça marche :mrgreen:
Sous Windows, la checkbox est de la classe "button" (comme l'OptionGadet).
Je soupçonne que ce n'est pas le cas sous Linux / MacOS.
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: CheckBoxGadget multi-ligne

Message par Guimauve »

gnozal a écrit :Sous Windows, la checkbox est de la classe "button" (comme l'OptionGadet).
Je soupçonne que ce n'est pas le cas sous Linux / MacOS.
Pour que ça fonctionne sous Linux, il faut faire comme suit :

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu
; Version de PB : 4.50
;
; Explication du programme :
; CheckBoxGadget multi-ligne

; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 200, "CheckBoxGadget multi-ligne", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) = 0
	End
EndIf

CheckBoxGadget(0, 4, 4, 300 - 8, 48, "Une case à cocher avec un bien trop" + Chr(13) + Chr(10) + "long pour tenir sur une seule ligne")

Repeat
	Event = WaitWindowEvent()
	
Until Event = #PB_Event_CloseWindow
Le texte apparaît sur deux lignes mais ce n'est pas automatique. Il faut peut-être ajouter une commande qui va compter le nombre de mot du texte a afficher et insérer les caractères 13 et 10 en plein milieu pour avoir approximativement la même longueur sur chacune des lignes. Ou encore mesurer la longueur graphique du texte par rapport à la largeur du gadget et couper le texte en insérant les caractères 13 et 10 là ou il le faut.

A+
Guimauve
Répondre