Lucrul cu controlul dirialogic

Lucrul cu controlul CommonDialog

Controlul CommonDialog permite dezvoltatorilor de aplicații să maximizeze dezvoltarea interfeței programului lor cu stilul utilizat în Windows.







Deoarece, deseori, am avut de-a face cu problema asociată cu aplicarea și funcționarea controlului CommonDialog și am primit recent o serie de scrisori cu întrebări legate de aplicarea sa, am decis să împărtășesc cu tot ceea ce știu. Voi încerca să vă dau o prezentare generală a fiecărei casete de dialog.

Înainte de a începe, selectați Proiect | Elementul de control al componentelor MicrosoftCommon Dialog Control 6.0. În bara de instrumente, veți vedea o pictogramă de e-mail. Gestionarea CommonDialog.

Plasând pe e-mail formularul. Controlul CommonDialog, veți avea capacitatea de a apela astfel de ferestre cum ar fi:

1. Deschide fereastra de dialog;

2.Show dialog Save As;

Fereastra de dialog Culoare;

Fereastra de dialog Font;

5. Fereastra de dialog Print;

Alegerea acestui sau acelui tip de casetă de dialog are loc prin setarea proprietății Acțiune la valoarea corespunzătoare sau utilizând metoda corespunzătoare.

Fereastra de dialog Deschidere

Pentru a apela caseta de dialog Deschidere, trebuie să setați proprietatea CommonDialog1.Action la 1 sau să aplicați metoda ShowOpen. Dar, înainte de a avea o fereastră completă Windows Open, trebuie să atribuiți un număr de proprietăți.

1. Setați directorul inițial, care se va deschide când apelați CommonDialog1 -a.

CommonDialog1.InitDir = "C: Documentele mele"

Dacă nu setați această proprietate, va fi deschis directorul implicit, pe care l-ați folosit ultima dată.

2.Setați tipul de fișiere pe care va fi afișat dialogul Deschidere. Pentru a face acest lucru, declarați variabila șir strFileType și atribuiți valorile necesare.

Dim strFileType ca șir

strFileType = "Toate fișierele (*. *) | *. * |"

strFileType = StrFileType "Documente Word (* .doc) | * .doc |"

strFileType = StrFileType "Fișiere text (* .txt) | * .txt |"

Apoi, proprietatea Filtru. CommonDialog. atribuiți valoarea variabilei strFileType.

Notă. Nu includeți spațiile înainte și după delimitatoare, altfel nu veți primi fișierele pe care le-ați specificat.

Am setat filtrul implicit prin selectarea valorii Documentelor Word pentru aceasta.

Când deschideți caseta de dialog Deschidere din caseta de text "Fișiere de tip". veți vedea documentul Word (* .doc).







3. În final, afișăm caseta de dialog Deschidere.

Desigur, odată ce ați apelat dialogul deschis. atunci acesta ar trebui utilizat în scopul propus, adică selectați fișierul dorit și deschideți-l. Fișierul este selectat în același mod ca și în Windows - e, dar pentru a continua lucrul este necesar să transferați calea și numele fișierului pe care l-ați selectat în program. În acest scop, există două proprietăți ale CommonDialog1 - a.

CommonDialog1.FileTitle - returnează numele fișierului selectat cu o extensie (de exemplu, "Hello.doc");

CommonDialog1.FileName - returnează calea către fișierul selectat (de exemplu, "C: My DocumentsHello.doc");

Cunoscând aceste date, puteți efectua operațiile corespunzătoare pe fișierele selectate.

Acum trebuie să protejați programul de acțiunile neintenționate ale utilizatorilor.

Ce poate face utilizatorul.

1. Introduceți un fișier inexistent sau orice caractere și apăsați tasta Deschidere;

2.Nu selectați niciun fișier, faceți clic pe butonul Deschidere;

Pentru a preveni astfel de acțiuni, proprietatea Flags este atribuită constantă necesară.

cdlOFNFileMustExist - Specifică faptul că utilizatorul poate introduce numele numai a fișierelor existente, dacă parametrul este setat și utilizatorul introduce un nume de fișier nevalid, este afișat un avertisment. Acest steguleț stabilește automat flagul cdlOFNPathMustExist.

Atenție, vă rog. În caseta de dialog Deschidere, există casete de selectare pentru a activa opțiunea "Deschideți ca citire numai". Nu vom lua în considerare lucrul cu acest steag, așa că vom adăuga o constantă mai mult, ceea ce o va elimina din caseta de dialog.

cdlOFNHideReadOnly - face ca comutatorul Read Only să fie invizibil.

Și acum proprietatea Flags va arăta astfel.

CommonDialog1.Flags = CdlOFNFileMustExist sau CdlOFNHideReadOnly

3. Nu selectați fișiere apăsând butonul Anulare;

4. Selectați un fișier și apăsați tasta Anulare;

Pentru a preveni apariția unei erori în timpul acestor acțiuni ale utilizatorilor, vom completa codul de mai sus cu un handler de eroare. Trebuie remarcat faptul că eroarea ar trebui să fie generată de fereastra de dialog în sine, în acest scop, setați proprietatea CommonDialog1.CancelError la True. Apăsarea tastei Anulare va genera o eroare 32755 - Anula a fost selectată.

Acum vom combina toate cele de mai sus în codul comandat:

Private Sub mnuOpen_Click ()

'Declararea unei variabile de șir pentru atribuirea tipurilor de fișiere

Dim strFileType ca șir

'Dacă apare o eroare, adică utilizatorul apasă tasta Anulare,

"Mergeți la managerul de eroare - ErrorHandler

Pe eroare GoTo ErrorHandler

"Oferim generarea de erori

'Initializeaza variabila string strFileType

strFileType = "Toate fișierele (*. *) | *. * |"

strFileType = StrFileType "Documente Word (* .doc) | * .doc |"

strFileType = StrFileType "Fișiere text (* .txt) | * .txt |"

'Atribuiți-o proprietății Filtru

"Am stabilit indicele necesar

'Atribuirea directorului inițial la InitDir

"Oferim protecție de la un fișier de intrare sau un director greșit, precum și de a ascunde casetele Numai citire

CommonDialog1.Flags = cdlOFNFileMustExist sau cdlOFNHideReadOnly

'Apelați dialogul Open

CommonDialog1.Action = 1 'Sau CommonDialog1.ShowOpen

"Codul dvs. este localizat aici (nu uitați că calea către fișierul selectat pe care ați citit-o din proprietatea FileName)

"Procesarea erorii interceptate

Dacă Err.Number = 32755 Apoi

Acum dialogul Deschidere este gata de lucru.

Dacă doriți să experimentați cu caseta de dialog Deschidere. atunci constantele pe care le puteți atribui proprietății Flags sunt date mai jos.







Articole similare

Trimiteți-le prietenilor: