Besturingselementen en formulieren - Pearson Education
Besturingselementen en formulieren - Pearson Education
Besturingselementen en formulieren - Pearson Education
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
11 <strong>Besturingselem<strong>en</strong>t<strong>en</strong></strong> <strong>en</strong> formulier<strong>en</strong><br />
vakk<strong>en</strong>, dan wordt de informatie aan de lijst toegevoegd op dezelfde manier zoals in<br />
hoofdstuk 9 al uitgebreid is doorg<strong>en</strong>om<strong>en</strong>. U ziet dat aan het eind van de procedure de<br />
beide tekstvakk<strong>en</strong> leeg gemaakt word<strong>en</strong> <strong>en</strong> de cursor weer in het naamvak geplaatst<br />
wordt met txtNaam.SetFocus.<br />
C Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)<br />
If CloseMode = vbFormControlM<strong>en</strong>u Th<strong>en</strong><br />
MsgBox "U kunt dit formulier alle<strong>en</strong> sluit<strong>en</strong> met de Annuler<strong>en</strong>-knop",<br />
_<br />
vbOKOnly Or vbInformation<br />
Cancel = True<br />
End If<br />
End Sub<br />
Elk formulier heeft net zoals alle andere Windows-v<strong>en</strong>sters e<strong>en</strong> pictogram Sluit<strong>en</strong> in<br />
de rechter bov<strong>en</strong>hoek. Als u niet wilt dat de gebruiker hiermee het v<strong>en</strong>ster kan sluit<strong>en</strong>,<br />
kunt u dat verhinder<strong>en</strong> door de Cancel-parameter op True te zett<strong>en</strong>. Hiermee geeft u<br />
het besturingssysteem e<strong>en</strong> seintje dat het formulier niet opgeruimd mag word<strong>en</strong>.<br />
Opdracht 11.3<br />
1 Waar zou u e<strong>en</strong> controle inbouw<strong>en</strong> op e<strong>en</strong> correcte invoer van e<strong>en</strong> tekstvak? U kunt bij het telefoonnummer<br />
d<strong>en</strong>k<strong>en</strong> aan e<strong>en</strong> beperking van de invoer tot cijfers <strong>en</strong> e<strong>en</strong> ligg<strong>en</strong>d streepje.<br />
2 Bouw zo’n controle in.<br />
11.4 Oplossing opdracht 11.1<br />
Hoewel u in het ev<strong>en</strong>t Workbook_Op<strong>en</strong> natuurlijk de combobox net zo kunt vull<strong>en</strong><br />
als dat in het ev<strong>en</strong>t Worksheet_Activate gebeurde waarbij wel de naam van het werkblad<br />
toegevoegd moet word<strong>en</strong>, kan het ook op e<strong>en</strong> elegante manier zonder twee keer<br />
hetzelfde te moet<strong>en</strong> programmer<strong>en</strong>. We wet<strong>en</strong> dat als e<strong>en</strong> procedure b<strong>en</strong>oemd wordt<br />
met het woord Private, dat die procedure alle<strong>en</strong> herk<strong>en</strong>baar is binn<strong>en</strong> het werkblad of<br />
de module waar ze in is opgeslag<strong>en</strong>. Als u in het blad Gebeurt<strong>en</strong>iss<strong>en</strong> Private Sub<br />
Worksheet_Activate() wijzigt in Public Sub Worksheet_Activate(), is de procedure<br />
ine<strong>en</strong>s in alle werkblad<strong>en</strong> <strong>en</strong> -mapp<strong>en</strong> herk<strong>en</strong>baar.<br />
Het Workbook_Op<strong>en</strong> ev<strong>en</strong>t wordt dan:<br />
C Private Sub Workbook_Op<strong>en</strong>()<br />
With Worksheets("Gebeurt<strong>en</strong>iss<strong>en</strong>")<br />
.Select<br />
.Worksheet_Activate<br />
End With<br />
End Sub<br />
295