Les 11
$COMPILE EXE
GLOBAL hDlg AS LONG
FUNCTION PBMAIN() AS LONG
LOCAL r AS LONG ' een lange integer, de snelste bij 32bit windows
DIALOG NEW 0,"Hoofd dialoogscherm",,,300,100 TO hDlg
'DIALOG NEW hOuder&, titel$, [x&], [y&], xx&, yy&
[, opmaakcode& [, extraopmaak&]] TO hDlg&
'0: dit is het hoofdscherm en daarom 0 gebruiken
' als een ander scherm het moederscherm is, dan zetten we hier de
variabele die
' verwijst naar dat scherm. Dat houdt dan in dat dat scherm geblokkeerd
is, tot
' we klaar zijn met dit scherm.
'daarna de titel zoals bovenaan het dialoogscherm zal worden vertoond
'x-waarde van de plaats van het scherm: geen opgave gedaan, dus default
waarde nemen = gecentreerd
'y-waarde: idem
'xx-waarde geeft de horizontale grootte aan (300 pixels in dit geval)
'yy-waarde geeft de vertikale grootte aan (100 pixels)
'hDlg (h=handle, Dlg= dialoog)
'Dit wordt een waarde waarnaar steeds wordt verwezen als dit dialoog
scherm wordt bedoeld
'Zie het als een volgordenummer. De variabele moet wèl worden
gedeclareerd! (zie boven)
'Zoals hieronder is te zien: wel definiëren, maar er wordt nog niets
getoond!
'Uit de HELP file:
'
' Purpose CREATE a NEW dialog.
'
'Syntax DIALOG NEW hParent&, title$, [x&], [y&], xx&,
yy& [, style& [, exstyle&]] TO hDlg&
'
'Remarks A NEW empty DIALOG is created, but NOT displayed.
DIALOG SHOW MODELESS hDLG
'laat nu het scherm zien, en wacht NIET op gebruikers aktie: het
programma gewoon
'door laten lopen. Deze mode heet MODELESS
FOR r= 1 TO 100
'werk zonodig de aktieve schermen bij
DIALOG DOEVENTS
'wacht 40 milliseconden, maar geef de tijd vrij
aan Windows
SLEEP(40)
NEXT r
DIALOG END hDlg 'altijd netjes afsluiten wat je hebt gestart!
'hiermee sluiten we na 5 seconden weer een
dialoog scherm, en welke?
'Juist: degene die aangegeven wordt met 'hDlg'
'Je kunt ook 'hHoofddialoog' gebruiken, of
welke naam dan ook.
'Veel wordt echter gebruikt: hDlg, dus wij hier
ook
END FUNCTION