La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les contrôles en VB et le contrôle de la saisie

Présentations similaires


Présentation au sujet: "Les contrôles en VB et le contrôle de la saisie"— Transcription de la présentation:

1 Les contrôles en VB et le contrôle de la saisie
Chapitre 3 Les contrôles en VB et le contrôle de la saisie Cours VB 2007/2008

2 Introduction Les étapes de programmation sont:
La création de l’interface La définition des propriétés des objets utilisés dans l’interface L’écriture du code (associé à chaque objet) On peut inclure d’autres étapes : La compilation et l’exécution Le débogage La création d’un fichier exécutable La distribution de l’application Cours VB – ISG 2007/2008

3 I. Types de contrôles Les contrôles figurent dans la boite à outils.
PictureBox TextBox Label CommandButton Frame CheckBox OptionButton ComboBox ListBox HScollBar VScollBar Shape Line Cours VB – ISG 2007/2008

4 I. Types de contrôles Les contrôles d’affichage et de saisie de texte
Affichage : contrôle étiquette ou Label Zone texte : contrôle Textbox Les contrôles offrant des choix à l’utilisateurs Contrôle case à cocher (CheckBox) Contrôle bouton d’option (OptionButton) Zone de liste (ComboBox, ListBox) Barre de défilement (VScrollBar, HScrollBar) vertical ou horizontal Les contrôles bouton de commande (CommandButton) pour exécuter une action. Cours VB – ISG 2007/2008

5 I. Types de contrôles Les contrôles d’affichage d’images et de graphiques Les contrôles zone image (PictureBox) Les contrôles forme (Shape) Les contrôles ligne (Line) Les contrôles cadre (Frame) Cours VB – ISG 2007/2008

6 II. Définition des valeurs des propriétés des contrôles
La définition des propriétés des objets utilisés dans l’interface est l’affectation des valeurs aux propriétés des contrôles utilisés dans cette interface. La fenêtre propriété permet de réaliser cette tache de manière facile (mode création) Il est possible de modifier les valeurs des propriétés en mode exécution. Parmi les propriétés intéressantes on trouve Name qui désigne le nom de l’objet par lequel il sera reconnu. Cours VB – ISG 2007/2008

7 II. Définition des valeurs des propriétés des contrôles
On prend comme convention préfixer les noms par 3 lettres qui permettent de reconnaître sa classe : Form : FRM CommandButton : CMD CheckBox : CHK Label : LBL Menu : MNU OptionButton : OPT TextBox : TXT ComboBox : CMB ListBox: LST Frame: FRA Cours VB – ISG 2007/2008

8 III. Les propriétés des contrôles
III.1 Label name : lbl… caption : contenu autosize : détermine si un contrôle doit être automatiquement redimensionné pour l’adapter à son contenu. Si la valeur de la propriété est True, le contrôle label change horizontalement pour s’adapter à son contenu wordwrap : permet de modifier le contrôle label verticalement pour l’adapter à son contenu sans modifier sa largeur alignment : 0 (left) / 1 (right) / 2 (center) visible : T / F font (en mode création) ou fontsize, fontname, fontbold, fontitalic (en mode exécution) Cours VB – ISG 2007/2008

9 III.1 Label Rq : autosize doit être égale à true pour que la propriété wordwrap du contrôle label soit active mais il faut mettre wordwrap à true avant autosize sinon le texte s'agrandie en largeur avant. La longueur de ce contrôle n’est agrandie que si la taille d’un mot dépasse celle du contrôle. Cours VB – ISG 2007/2008

10 III.2 TextBox name : txt… text : contenu
causesValidation : true (par défaut) / false (pour le contrôle de saisie avec l’événement _validate) multiLine : true (si le texte sur plusieurs lignes le retour à la ligne sera géré automatiquement) / false (par défaut le texte est sur une seule ligne) maxLength : pour fixer la taille de la zone texte alignment : 0 (left) / 1 (right) / 2 (center) scrollBars : 0 (none) / 1 (horizontal) / 2 (vertical) / 3 (both) locked: T/ F: détermine si un cltl peut être modifié ou non visible : T / F font (en mode création) ou fontsize, fontname, fontbold, fontitalic (en mode exécution) PasswordChar : permet de définir le caractère qui remplacera les caractères tapés par l'utilisateur Cours VB – ISG 2007/2008

11 III.3 ComboBox (pour choix exclusifs)
name : cmb… text : le contenu initial list : pour la liste des info dans le ComboBox style : Les Combobox sont modifiables par défaut : 0 : DropdownCombo - modifiable (sert dans la recherche) 1 : SimpleCombo - le style est différent mais ressemble à 0 2 : DropdownList - non modifiable (si on prend les valeurs à partir d’un BD) Cours VB – ISG 2007/2008

12 III.3 ListBox (pour les choix multiples)
name : lst… list : pour la liste des info dans la Listbox multiSelect : none / multiple (avec ctrl) / extended (sans ctrl) Exemple ce code affiche les éléments sélectionnés dans une ListBox: for i=0 to lstspecialite.listcount -1 if lstspecialite.selected (i) then MsgBox lstspecialite.list(i) End if next Cours VB – ISG 2007/2008

13 III.4 OptionButton (pour les choix exclusifs)
name : opt… value : (true, false) caption : label du ListBox  index : sert pour les groupes Remarque 1: Par défaut il faut avoir au moins un des boutons d’option qui soit sélectionné exemple si optionbutton centré activé il faut que le texte soit centré)INDEX as integer Remarque 2: Pour la commodité de nomination on peut nommer les boutons de commande d’un même groupe du même nom (NAME) exemple optspecialité et changer la valeur de la propriété INDEX (qui se fait automatiquement par copier coller). Exemple : optspecialité (0).value, optspecialité (1).value, optspecialité (2).value Cours VB – ISG 2007/2008

14 III.4 OptionButton (pour les choix exclusifs)
Remarque 3: Si on forme un groupe d’option alors il y a une seule procédure associée à tous les boutons avec comme argument INDEX as integer Remarque 4: Si on veut manipuler plusieurs groupes il faut mettre chacun d’eux dans un frame (il faut mettre le frame avant et il faut qu’il soit sélectionné) Private sub optmiseenforme_click (index as integer) Select case index Case 0 Label1.alignement= 2 Case 1 Label1.alignement= 1 End select End sub Cours VB – ISG 2007/2008

15 III.5 CheckBox (pour les choix multiples)
name : chkt… value : 0 (unchecked) / 1 (checked) / 2 (grayed) caption : label du CheckBox  index : sert pour les groupes Cours VB – ISG 2007/2008

16 III.5 CommandButton CommandButton name : cmd… caption : contenu
visible : true / false default: pour avoir comme équivalent clavier la touche true cancel: pour avoir comme équivalent clavier la touche cancel enabled: T (par défaut) / F Remarque : Les CommandButton OK , Annuler se font sans équivalent clavier Pour OK : c’est la touche entrée pour cela il faut mettre default : true Pour Annuler : c’est la touche cancel pour cela il faut mettre cancel : true Cours VB – ISG 2007/2008

17 III.6 HScrollBar/ VScrollBar
name : hsc / vsc… value : valeur initial et valeur en cours smallchange : Renvoie ou définit l'importance de la modification de la propriété Value dans un contrôle de barre de défilement lorsque l'utilisateur clique sur une flèche de défilement. largechange: Renvoie ou définit l'importance de la modification de la propriété Value dans un contrôle HScrollBar ou VScrollBar lorsque l'utilisateur clique sur la zone située entre le curseur et la flèche de défilement. max Min Cours VB – ISG 2007/2008

18 III.6 HScrollBar/ VScrollBar
Remarque 1: Les barres de défilement sont des contrôles permettant de parcourir rapidement une longue liste d'éléments ou un grand nombre d'informations. Elles peuvent également indiquer la position courante sur une échelle. Vous pouvez utiliser une barre de défilement comme dispositif d'entrée de données ou comme indicateur de vitesse ou de quantité pour régler, par exemple, le volume sonore d'un jeu sur ordinateur ou pour visualiser le temps écoulé lors d'un processus minuté. Remarque 2 : on ne peut pas utiliser des fractions dans smallchange ou largechange Remarque 3 : pour voir la valeur de la barre de défilement il faut rajouter un label ou un textbox à côté et les lier Private sub hsctaille_change () Lbltaille.caption= hsctaille.value End sub Cours VB – ISG 2007/2008

19 IV. Le contrôle de la saisie
IV.1 L'événement VALIDATE L'événement _validate se produit avant que le focus passe à un (deuxième) contrôle qui a la propriété CausesValidation à True. Cet évènement permet de bloquer l'utilisateur dans le contrôle tant qu'il n'a pas respecté les conditions de saisie. Syntaxe: Private Sub object_Validate(cancel As Boolean) Private Sub txtdate_validate(cancel As Boolean) If Not IsDate(txtdate.Text) Then cancel = True End If End Sub Private Sub txtnote_validate(cancel As Boolean) If Not IsNumeric(txtnote.Text) Then Cours VB – ISG 2007/2008

20 IV.2 L'évènement Keypress
Cet évènement se déclenche lorsqu'une touche correspondant à un caractère ASCII est enfoncée. Cependant cet évènement ne reconnaît pas les touches de fonction, d'édition et de navigation qui sont reconnus par keyup et keydown. L'événement Keypress ne signale pas directement l'état du clavier il ne reconnaît pas l'état relâchée ou enfoncée d'une touche mais il fournit le code ASCII du caractère représenté par cette touche. Syntaxe: Private Sub object_Keypress (keyascii As Integer) Cours VB – ISG 2007/2008

21 IV.2 L'évènement Keypress
Exemple 1: Procédure qui permet de convertir automatiquement les caractères saisis en majuscule. Exemple 2: procédure qui permet de contrôler la zone NCIN en ne permettant que les valeurs numérique et le retour arrière, elle bloque le clavier pour les autres caractères. Private Sub txt1_keypress(keyascii As Integer) keyascii =Asc(Ucase(Chr(keyascii ))) End Sub Private Sub txtNCIN_keypress(keyascii As Integer) If (keyascii < 48) Or (keyascii > 57) Then If (keyascii <> 8) Then keyascii = 0 End If End Sub Cours VB – ISG 2007/2008

22 IV.2 L'évènement Keypress
keycodeconstants keyascii Vbkey0 48 Vbkey9 57 VbkeyA 65 VbkeyZ 90 Vbkeyback 8 Vbkeydelete 46 Vbkeyescape 27 Vbkeydecimal (.) 110 Vbkeyspace 32 Vbkeytab 9 Cours VB – ISG 2007/2008

23 IV.3 L'évènement Keyup et keydown
Ces deux évènements signalent avec précision l'état physique du clavier: une touche est enfoncée (keydown) et une touche est rechachée (keyup). Exemple: Pour déterminer si la touche enfoncée correspond à une lettre en majuscule ou minuscule ces événement utilisent l'argument shift. Private sub txt1_keydown (keycode as integer, shift as integer) If keycode=VbkeyA and shift=1 then Msgbox("vous avez appuyé sur la touche "A") End if End sub Cours VB – ISG 2007/2008

24 IV.3 L'évènement Keyup et keydown
Shift Maj 1 Ctrl 2 Maj+Ctrl 3 Alt 4 Maj+Alt 5 Ctrl+Alt 6 Maj+Ctrl+Alt 7 Cours VB – ISG 2007/2008

25 IV.4 L'évènement Keyup au niveau de la feuille
L'évènement keyup peut être utilisé au niveau de la feuille (form) afin de valider ses données (contrôler si l'utilisateur a bien saisie tous les champs obligatoires) pour cela il faut: 1) mettre la propriété keypreview de la feuille à true (par défaut elle est à false) afin que la feuille reçoit les événements du clavier avant les contrôles eux même 2) On désactive un bouton de commande qui permet de calculer ou afficher etc. (en mode création ou excécution) Private Sub Form_Load() Cmdclaculer.enabled=false End Sub Cours VB – ISG 2007/2008

26 IV.4 L'évènement Keyup au niveau de la feuille
3) on utilise l'évènement keyup au niveau de la feuille: Private Sub Form_keyup(KeyCode As Integer, Shift As Integer) Dim cont As Variant Dim test As Boolean test = False For Each cont In Controls If TypeOf cont Is TextBox Then If cont.Text = "" Then test = True End If ElseIf TypeOf cont Is ListBox Then Next cont If test = False Then cmdafficher.Enabled = True else cmdafficher.Enabled = false End Sub Cours VB – ISG 2007/2008

27 Exercice 1) Ecrire un programme VB qui permet de convertir des Kilogrammes en Pounds et des Pounds en Kilogrammes (1 Kilogramme = 2,2 Pounds). 2) Soit les évènements suivants : L'évènement Validate : Private Sub nom_controle_validate(cancel As Boolean) L'évènement Keypress : Private Sub nom_controle_keypress(keyascii As Integer) L'évènement keydown: Private sub nom_controle_keydown (keycode as integer, shift as integer) L'évènement keyup: Private Sub nom_controle_keyup(KeyCode As Integer, Shift As Integer) Cours VB – ISG 2007/2008

28 Exercice Écrire le code qui permet le contrôle de la saisie
Écrire le code VB qui permet de convertir ou de préparer l’interface pour la conversion des Kilogrammes en Pounds lorsque l’utilisateur appuie sur les touches Ctrl+Alt+P. Écrire le code VB qui permet de convertir ou de préparer l’interface pour la conversion des Pounds en Kilogrammes lorsque l’utilisateur appuie sur les touches Ctrl+Alt+K. Écrire une fonction générique pour le contrôle de saisie qui retourne True ou False. Cours VB – ISG 2007/2008


Télécharger ppt "Les contrôles en VB et le contrôle de la saisie"

Présentations similaires


Annonces Google