Small Basic: Comment Faire une Case à Cocher (fr-FR)
Small Basic possède les trois types de contrôles.
- bouton
- zone de texte multiligne
- zone de texte
Mais il n'y a pas de case à cocher de disponible dans l'objet Controls.
Donc, faisons par nous-même une case à cocher.
Conception
Pour faire une case à cocher, nous avons besoin d'une case, une coche et un gestionnaire d'événement de souris. Une case peut être dessinée avec GraphicsWindow.FillRectangle(). Une coche peut être dessinée avec Shapes.AddText() et la fonte "Wingdings 2". Dans le gestionnaire d'événement de souris, nous déterminerons sur le bouton de la souris est cliqué dans la case ou non et modifier l'état de la case à cocher.
Code
Voici un exemple de code pour la case à cocher. Le premier extrait est le gestionnaire d'événement souris.
Sub OnMouseDown
mx = GraphicsWindow.MouseX
my = GraphicsWindow.MouseY
For iCheckBox = 1 To cboxNum
x0 = cboxObj[iCheckBox]["x0"]
x1 = cboxObj[iCheckBox]["x1"]
y0 = cboxObj[iCheckBox]["y0"]
y1 = cboxObj[iCheckBox]["y1"]
If x0 <= mx And mx <= x1 And y0 <= my And my <= y1 Then
If cboxObj[iCheckBox]["checked"] Then
Shapes.HideShape(cboxObj[iCheckBox]["checkmark"])
cboxObj[iCheckBox]["checked"] = "false"
Else
Shapes.ShowShape(cboxObj[iCheckBox]["checkmark"])
cboxObj[iCheckBox]["checked"] = "true"
EndIf
EndIf
EndFor
EndSub
Le second extrait est une sous-routine pour cocher la case à cocher.
Sub IsChecked
iCheckBox = Text.GetSubTextToEnd(param["checkBoxName"], 9)
return = cboxObj[iCheckBox]["checked"]
EndSub
Le troisième extrait est d'ajouter une case à cocher.
Sub AddCheckBox
' param["left"] - la coordonnée x de la case à cocher
' param["top"] - la coordonnée y de la case à cocher
' retourne 'return' - la case à cocher ajoutée à GraphicsWindow.
cboxColor = GraphicsWindow.BrushColor
cboxSize = GraphicsWindow.FontSize
cboxFont = GraphicsWindow.FontName
cboxNum = cboxNum + 1
cboxX0 = param["left"]
cboxX1 = cboxX0 + cboxSize + 1
cboxY0 = param["top"] + 1
cboxY1 = cboxY0 + cboxSize + 1
GraphicsWindow.BrushColor = "Gray"
GraphicsWindow.FillRectangle(cboxX0, cboxY0, cboxSize + 2, cboxSize + 2)
GraphicsWindow.BrushColor = "White"
GraphicsWindow.FillRectangle(cboxX0 + 1, cboxY0 + 1, cboxSize, cboxSize)
cboxObj[cboxNum]["x0"] = cboxX0
cboxObj[cboxNum]["x1"] = cboxX1
cboxObj[cboxNum]["y0"] = cboxY0
cboxObj[cboxNum]["y1"] = cboxY1
GraphicsWindow.BrushColor = cboxColor
GraphicsWindow.FontName = "Wingdings 2"
cboxMark = Shapes.AddText("P")
Shapes.Move(cboxMark, param["left"] + 1, param["top"] + 3)
Shapes.HideShape(cboxMark)
cboxObj[cboxNum]["checkmark"] = cboxMark
cboxObj[cboxNum]["checked"] = "False"
GraphicsWindow.FontName = cboxFont
cboxMark = Shapes.AddText(param["caption"])
Shapes.Move(cboxMark, param["left"] + cboxSize * 1.5 , param["top"])
return = "CheckBox" + cboxNum
EndSub
Programme d'Exemple
Voici un programme d'exemple TCX734. Ce programme peut générer un code PIN, Incluant des lettres de l'alphabet ou pas en fonction de la case à cocher.
Voir Aussi
Autres Langues
- Article original: Small Basic: How to Make a Check Box