Mdi - Interfață pentru documente multiple

formele de containere

În aplicația Visual Basic se poate adăuga o formă de MDI, care va servi ca un container pentru formele condiționate. Subformular - aceasta este forma obișnuită în care valoarea proprietății MDIChild egală cu adevărat. În modul de funcționare, ferestrele subordonate plasate în interiorul ferestrei formă mamă MDI. Meniu comenzi formulare MDI pot fi comune pentru toate ferestrele subordonate, sau, în cazul în care subformular are propriile sale comenzi de meniu, acesta înlocuiește meniul formei containerului. Atunci când forma este închisă, recipientul se închide toate formele subordonate.

Într-o aplicație MDI, puteți deschide o mulțime de ferestre construite pe același model. În vizualizarea de proiectare, de a crea o instanță a formularului. Pentru a rula modul, deschide o mulțime de ferestre din codul creează noi instanțe ale unui subformular.

Deoarece multe forme subordonate au același nume și același cod, acesta nu ar trebui să fie în codul de program (în cazul în care codul este împărtășită de mai multe instanțe ale formularului) de a utiliza numele formularului. Modulul formular pentru trimitere la forma actuală, folosiți cuvântul cheie Me.

Pe MDI membru de control de formă poate fi plasat, în cazul în care are o proprietate Align (Line up) este invizibil sau în timpul rulării.

Crearea unei echipe formular-container Adăugați => MDI Form, meniul Project.

Pe formularul Form1 este creat caseta de text Text1 și setați proprietatea Multiline la True, sus și din stânga la 0.

proprietate MDIChild setat la True.

Creați procedura de Form_Resize la caseta de text dimensiuni variază în funcție de dimensiunea formei:

Creați un meniu de fișier pentru forma MDIForm1. În procesul de creare a unui nou document, adăugați codul:

Codul copilului forma Form1:

Creați un nou element în meniul File => Windows. Instalați proprietatea WindowList - pentru a afișa o listă de ferestre disponibile, această proprietate este disponibilă numai pentru MDI și formele subordonate.

Meniurile în aplicații MDI

utilizate în mod obișnuit mai multe seturi de meniuri. Când toate documentele sunt închise, meniul afișează formularul MDI. Atunci când utilizatorul deschide documentul, meniul din meniul de comandă subformular înlocuiește formularul MDI. Bara de instrumente este întotdeauna sub forma MDI.

Astfel, unele dintre comenzile pot fi sub forma meniului de containere din meniu și subformular pe bara de instrumente. Pentru a nu duplica codul, trebuie să creați o procedură deschisă în subformular și apelați-l din procedura de manipulare eveniment.

container Forma poate conține mai multe tipuri de documente.

În meniul Fișier, formularul de MDI pentru a adăuga, indicați spre nou document.

Comenzile meniului subformular conține, de asemenea, comenzile. Ai nevoie pentru a scrie o procedură pentru a crea un nou document, și comenzile de meniu pentru procedurile de prelucrare.

Cod subformular:

Încărcarea și descărcarea formularelor MDI și subforms

La încărcarea unei subformular este încărcată automat și sub formă de MDI. Cu toate acestea, atunci când forma încarcă MDI, subforms nu sunt descărcate automat. Acest lucru poate fi văzut prin setarea formei MDI obiect de pornire. Puteți descărca subforms ca ascuns prin setarea AutoShowChildren proprietăți la True și a le afișa la momentul potrivit de Afișare.

Descarcarea formularul de comandă este disponibil în codul Unload program sau atunci când fereastra se închide.

În această prelucrare sunt efectuate evenimente QueryUnload și Unload pentru forma în care salvarea datelor introduse pot fi urmărite. Când descărcarea formularelor MDI sunt descărcate și toate formele subordonate. comandă End determină încetarea imediată a programului, în timp ce nu executa procedurile de eveniment.

Verificarea datelor a fost salvată

Într-o aplicație MDI monitorizată de stocare a datelor. În cazul în care nu stochează datele la sfârșitul programului sau când închideți un document, datele pot fi stocate în mod implicit.

Pentru informații despre starea documentului în modulul subformular introduce o variabilă booleană:

Fs variabilă devine setat la True pentru orice modificări în caseta de text.

Să păstrarea documentului se realizează în procedura saveFile. Parțial fs ajunge la False când salvați documentul.

Dacă închideți un fs document este adevărat, funcția MsgBox afișează o întrebare și returnează răspunsul utilizatorului. În cazul în care răspunsul a fost la Da, procedura se face saveFile.