$COMPILE EXE #INCLUDE "WIN32API.INC" 'Voeg nu een verwijzing toe naar een waslijst van allerlei declaraties, constanten 'enzovoort. Uit deze waslijst gebruiken we nu slechts één enkele regel en wel deze: '%IDOK = 1 'Dit is regel 3944 uit het bestand WIN32API.INC 'Dit bestand barst van constanten en zo, en legt vast welke waarden Windows 'verwacht èn teruggeeft bij aanroep van functies en procedures. 'Door eenduidigheid wordt veel verwarring voorkomen. '%IDOK is dus gewoon een constante, zoals er vele gebruikt zullen worden. 'Hier zijn er nog een paar uit het zelfde hoofdstukje: ' Dialog Box Command IDs %IDOK = 1 %IDCANCEL = 2 %IDABORT = 3 %IDRETRY = 4 %IDIGNORE = 5 %IDYES = 6 %IDNO = 7 'In principe zouden we deze lijst steeds in elk programma kunnen opnemen, maar 'dit is vanzelf veel handiger: één standaard lijst van alle gebruikte waarden. '--------------------------------------------------------------------------- 'Wat doen we als er op OK wordt geklikt: niet veel dus: beëindig het scherm GLOBAL hDlg AS LONG FUNCTION okbutton() AS LONG DIALOG END hDlg END FUNCTION '-------------------------------------------------------------------------- FUNCTION PBMAIN() AS LONG DIALOG NEW 0,"Hoofd dialoogscherm",,,300,100 TO hDlg 'Dit snappen we nu. . . . . 'laten we er eens een knop in maken waarmee we eerder dan die 5 seconden 'het scherm kunnen sluiten. Bijvoorbeeld een OK knop CONTROL ADD BUTTON, hDlg, %IDOK,"&Ok", 130, 80, 40, 14, 0 CALL OkButton ' x positie y positie breedte hoogte 'Purpose ADD a BUTTON TO a dialog. A BUTTON is one of the most commonly used controls IN Windows. FOR example, a "Cancel" button. 'Syntax CONTROL ADD BUTTON, hDlg&, id&, txt$, x, y, xx, yy, [, style&[, exstyle&]] [CALL callbackfunction] 'Het scherm is 300 breed, de button wordt 40 breed, dus de linkerkant op 300/2-40/2=130 leggen 'Het scherm is 100 hoog, de buttom is 14 hoog, dus bovenkant leggen op bijvoorbeeld 80. 'De button komt nu mooi middenonder terecht 'Speel eens met de waarden '%IDOK is gewoon een constante met de waarde '1' 'Deze wordt in WIN32API.INC gedeclareerd (zie hierboven) DIALOG SHOW MODAL hDlg 'laat het dialoog scherm zien, nu in MODAL mode, oftewel: blijf wachten in het 'dialoogscherm totdat er iets gebeurt. Pas dan verder met de rest van het programma '(en dat is niet veel meer). 'Als in het scherm op OK wordt geklikt, wordt de routine OKBUTTON aangeroepen 'Deze routine beëindigd het dialoogscherm, waarna ook het gehele programma is 'afgelopen! END FUNCTION