De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Les 7 Multiple Document Interface Programmeren met Visual Basic Karl Moens.

Verwante presentaties


Presentatie over: "Les 7 Multiple Document Interface Programmeren met Visual Basic Karl Moens."— Transcript van de presentatie:

1 Les 7 Multiple Document Interface Programmeren met Visual Basic Karl Moens

2 Programmeren met Visula Basic – Les 7 Overzicht Kenmerken Opbouw van een MDI-programma –Hoofd-formulier –Kind-formulieren Openen en sluiten Minimaliseren en maximaliseren –Menu's Dynamisch aanpassen Windowlist menu-item Schikken van kind-formulieren Oefening

3 Programmeren met Visula Basic – Les 7 Kenmerken MDI = Multiple Document Interface Het bestaat uit een hoofdprogramma (basisformulier) en aparte vensters ("kinderen" of "child windows") voor de verschillende "documenten" die worden geopend of bewerkt. De kinderen bevinden zich binnen de ruimte van het basisformulier. Als het hoofdformulier wordt geminimaliseerd worden alle "kinderen" ook geminimaliseerd.

4 Programmeren met Visula Basic – Les 7 Kenmerken Als een kind-formulier wordt geminimaliseerd, staat de icon van dit kind- formulier onderaan het hoofdformulier en niet in de taakbalk. Als een kind-formulier wordt gemaximaliseerd, wordt de titel ervan in de titel van het hoofdformulier verwerkt. Een kind-formulier heeft geen eigen menu- balk, maar gebruikt die van het hoofdformulier (eventueel aangepast).

5 Programmeren met Visula Basic – Les 7 Opbouw van een MDI- programma: Hoofdformulier Het hoofdformulier is van het type 'MDIForm'. Er kan slechts 1 MDIForm per applicatie aanwezig zijn! Project – Add MDIForm Op een MDIForm kan enkel een menu worden geplaatst, een PictureBox- control, een control zonder visuele interface of een custom-control met 'Align'-eigenschap. Andere controls kunnen binnen de PictureBox worden geplaatst.

6 Programmeren met Visula Basic – Les 7 Hoofdformulier Maak het menu van het hoofdformulier. Meestal voorziet dit menu items om: –kind-formulieren te openen, te sluiten en te bewaren; –kind-formulieren te activeren en te (her)schikken (zie Window-list item); –algemeen geldende instellingen te beheren; –het programma af te sluiten.

7 Programmeren met Visula Basic – Les 7 Opbouw van een MDI- programma: Kind-formulier Een kind-formulier is een gewone form, waarvan de MDIChild-eigenschap op "True" is gezet. Per type kind-formulier moet maar 1 form worden aangemaakt. Deze zal dienen als "template" om op dynamische wijze kind-formulieren van dit type aan te maken.

8 Programmeren met Visula Basic – Les 7 Kind-formulier Openen van een kind-formulier –Vanuit het hoofdformulier wordt een kind- formulier geopend (bijv. via een menu-item "New" of "Open …") Eerst wordt een array van "kind-formulier"-objecten aangemaakt: Public Kinderen() As New frmKindFormulier Public KindStatus() as Boolean Dit is de naam van het kind-formulier.

9 Programmeren met Visula Basic – Les 7 Kind-formulier Een "lege" plaats in de array wordt gezocht of aangemaakt: fIndex = FindFreeIndex() Function FindFreeIndex() As Integer Dim i As Integer Dim ArrayCount As Integer ArrayCount = UBound(Document) For i = 1 To ArrayCount If KindStatus(i)=False Then FindFreeIndex = i KindStatus(i)=True Exit Function End If Next

10 Programmeren met Visula Basic – Les 7 Kind-formulier ReDim Preserve Document(ArrayCount + 1) ReDim Preserve KindStatus(ArrayCount + 1 ) KindStatus(ArrayCount + 1)=True FindFreeIndex = UBound(Document) End Function Dan worden een aantal eigenschappen ingesteld: Document(fIndex).Tag = fIndex Document(fIndex).Caption = "Untitled:" & fIndex En tenslotte wordt het kind-formulier getoond: Document(fIndex).Show

11 Programmeren met Visula Basic – Les 7 Kind-formulier Sluiten van het kind-formulier Deze functie wordt aangeroepen vanuit de menustructuur van het kind-formulier Private Sub mnuFileClose_Click() Unload Me End Sub Daarna wordt (indien aanwezig) de Form_QueryUnload event-procedure uitgevoerd (hierin kan het sluiten van het formulier nog worden onderbroken; of bijv. gewijzigde gegevens worden bewaard). 'Me' verwijst automatisch naar 'dit' formulier

12 Programmeren met Visula Basic – Les 7 Kind-formulier Tenslotte wordt de Form_Unload procedure uitgevoerd: Private Sub Form_Unload(Cancel As Integer) KindStatus(Me.Tag) = False End Sub Dit is het indexnummer van het formulier in de array.

13 Programmeren met Visula Basic – Les 7 Kind-formulier Minimaliseren en maximaliseren Visual Basic handelt dit automatisch af: er bestaat geen "Minimalize" of "Maximalize" gebeurtenis-procedure. Wel wordt telkens de "Resize"-event uitgelokt (evenals bij het wijzigen van de afmetingen van het kind-formulier) zodat eventuele aanpassingen kunnen worden uitgevoerd.

14 Programmeren met Visula Basic – Les 7 Opbouw van een MDI- programma: Menus Een kindformulier heeft geen eigen menubalk: de menubalk van het kind- formulier vervangt de menubalk van het hoofdformulier wanneer een kindformulier actief is. Menu-items die zowel in het hoofd- als het kindformulier voorkomen, moeten dus tweemaal worden gedefiniëerd: zowel in het hoofd-formulier als in het kind-formulier.

15 Programmeren met Visula Basic – Les 7 Menus Windowlist-menuitem Deze eigenschap van een menuitem (menutitel) zorgt ervoor dat het menuitem automatisch een lijst weergeeft van alle kind-formulieren. Gebruikelijk wordt deze eigenschap opgezet voor de menutitel "Window". Automatisch verschijnt er dan als laatste item in deze menulijst een opsomming van alle kind- formulieren.

16 Programmeren met Visula Basic – Les 7 Menus Om de kind-formulieren automatisch te schikken beschikt het hoofd-formulier over de Arrange-methode: hoofdformulier.Arrange arrangement arrangement is één van volgende constanten: vbCascade0'Cascade'-schikking vbTileHorizontal1Horizontale schikking vbTileVertical2Verticale schikking vbArrangeIcons3 Schikt de icons van de geminimaliseerde formulieren

17 Programmeren met Visula Basic – Les 7 Oefening Schrijf een programma in MDI-vorm dat kan gebruikt worden als 'viewer' voor verschillende soorten grafische files.


Download ppt "Les 7 Multiple Document Interface Programmeren met Visual Basic Karl Moens."

Verwante presentaties


Ads door Google