17.05.2014 Views

Besturingselementen en formulieren - Pearson Education

Besturingselementen en formulieren - Pearson Education

Besturingselementen en formulieren - Pearson Education

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!