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

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

Présentations similaires


Présentation au sujet: "Cours VB 2007/2008 1 Chapitre 3 Les contrôles en VB et le contrôle de la saisie."— Transcription de la présentation:

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

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

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

4 4 Cours VB – ISG 2007/2008 I. Types de contrôles Les contrôles daffichage et de saisie de texte Affichage : contrôle étiquette ou Label Zone texte : contrôle Textbox Les contrôles offrant des choix à lutilisateurs Contrôle case à cocher (CheckBox) Contrôle bouton doption (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.

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

6 6 Cours VB – ISG 2007/2008 II. Définition des valeurs des propriétés des contrôles La définition des propriétés des objets utilisés dans linterface est laffectation 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 lobjet par lequel il sera reconnu.

7 7 Cours VB – ISG 2007/2008 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

8 8 Cours VB – ISG 2007/2008 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 ladapter à son contenu. Si la valeur de la propriété est True, le contrôle label change horizontalement pour sadapter à son contenu wordwrap : permet de modifier le contrôle label verticalement pour ladapter à 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)

9 9 Cours VB – ISG 2007/2008 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 nest agrandie que si la taille dun mot dépasse celle du contrôle.

10 10 Cours VB – ISG 2007/2008 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

11 11 Cours VB – ISG 2007/2008 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 dun BD)

12 12 Cours VB – ISG 2007/2008 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

13 13 Cours VB – ISG 2007/2008 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 doption 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 dun 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

14 14 Cours VB – ISG 2007/2008 III.4 OptionButton (pour les choix exclusifs) Remarque 3: Si on forme un groupe doption 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 deux dans un frame (il faut mettre le frame avant et il faut quil 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

15 15 Cours VB – ISG 2007/2008 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

16 16 Cours VB – ISG 2007/2008 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 : cest la touche entrée pour cela il faut mettre default : true Pour Annuler : cest la touche cancel pour cela il faut mettre cancel : true

17 17 Cours VB – ISG 2007/2008 III.6 HScrollBar/ VScrollBar 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

18 18 Cours VB – ISG 2007/2008 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

19 19 Cours VB – ISG 2007/2008 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 cancel = True End If End Sub

20 20 Cours VB – ISG 2007/2008 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)

21 21 Cours VB – ISG 2007/2008 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 57) Then If (keyascii <> 8) Then keyascii = 0 End If End Sub

22 22 Cours VB – ISG 2007/2008 IV.2 L'évènement Keypress keycodeconstantskeyascii Vbkey048 Vbkey957 VbkeyA65 VbkeyZ90 Vbkeyback8 Vbkeydelete46 Vbkeyescape27 Vbkeydecimal (.)110 Vbkeyspace32 Vbkeytab9

23 23 Cours VB – ISG 2007/2008 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

24 24 Cours VB – ISG 2007/2008 IV.3 L'évènement Keyup et keydown Shift Maj1 Ctrl2 Maj+Ctrl3 Alt4 Maj+Alt5 Ctrl+Alt6 Maj+Ctrl+Alt7

25 25 Cours VB – ISG 2007/2008 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

26 26 Cours VB – ISG 2007/2008 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 If cont.Text = "" Then test = True End If Next cont If test = False Then cmdafficher.Enabled = True else cmdafficher.Enabled = false End If End Sub

27 27 Cours VB – ISG 2007/2008 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)

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


Télécharger ppt "Cours VB 2007/2008 1 Chapitre 3 Les contrôles en VB et le contrôle de la saisie."

Présentations similaires


Annonces Google