Common Dialog Control

Dialog Otev°φt/Ulo₧it
Dialog pro otev°enφ souboru je mo₧nΘ vyu₧φt nap°φklad pro specifikaci souboru, kter² si p°eje u₧ivatel VaÜφ aplikace otev°φt, naΦφst a podobn∞. Je vhodnΘ p°ed vyvolßnφm dialogu nastavit n∞kterΘ jeho parametry, aby byl dialog co nejvφce srozumiteln² a usnad≥oval prßci:

Parametr Zm∞ny...
DialogTitle Titulek dialogovΘho okna 
Filter Typy soubor∙, kterΘ se budou zobrazovat
FilterIndex Defaultnφ typ souboru ze sady Filter
Flags U₧ivatelskß nastavenφ, jako nap°φklad p°epφnaΦ pro zobrazenφ 
read-only soubor∙
CancelError Zda se vygeneruje chyba, pokud u₧ivatel klikne na tlaΦφtko Storno

Nßsledujφcφ k≤d zobrazφ dialog Otev°φt se skryt²m p°epφnaΦem pro read-only soubory. Seznam soubor∙, kterΘ bude dialog zobrazovat bude filtrovßn pouze pro dokumenty Word (*.doc) a seÜity Excel (*.xls). Dialog Vßm neumo₧nφ vybrat soubory, kterΘ neexistujφ:

' Nastavenφ titulku okna
CommonDialog1.DialogTitle = "Otev°φt soubor ..."

' Nastavenφ filtru na dokumenty Word a seÜity Excel
CommonDialog1.Filter = "Dokumenty Word (*.doc)|*.doc|SeÜity Excel (*.xls)|*.xls"

' Nastavenφ defaultnφho typu na dokumenty Word
CommonDialog1.FilterIndex = 1

' Nastavenφ  vlastnostφ dialogu - soubor musφ existovat a skrytφ Read-Only
' Vφce parametr∙, kterΘ m∙₧ete pou₧φt pro r∙znΘ typy dialog∙ najdete v nßpov∞d∞
CommonDialog1.Flags = cdlOFNFileMustExist + cdlOFNHideReadOnly

' Nastavenφ vyvolßnφ chyby, pokud je stisknuto tlaΦφtko Storno
CommonDialog1.CancelError = True

On Error Resume Next
' Zobrazenφ dialogu
CommonDialog1.ShowOpen
If Err Then
    ' Pokud b∞₧φ k≤d tudy, tak bylo stisknuto tlaΦφtko Storno
    Msgbox "Dialog byl stornovßn"
    Exit Sub
End If
Msgbox "Zvolen² soubor: " & CommonDialog1.FileName

Vlastnost Filter je °et∞zec, kter² mß nßsledujφcφ formßt:

"FileTypeText1 |FileTypeExtension1 | FileTypeText2 | FileTypeExtension2"

Vlastnost FileName vracφ celou cestu k souboru vΦetn∞ jeho jmΘna a p°φpony. Vlastnost FileTitle vracφ pouze jmΘno souboru, a m∙₧e b²t vyu₧ita nap°φklad ke zm∞n∞ titulku okna:

Form1.Caption = "Text ze souboru: " & CommonDialog1.FileTitle

Nßsledujφcφ k≤d zobrazφ dialog Ulo₧it. Filtr bude nastaven na textovΘ soubory (*.txt) a vÜechny soubory (*.*). Skryje soubory pouze pro Φtenφ, p°i pokusu o p°epsßnφ souboru se Vßs dotß₧e na potvrzenφ operace a umo₧nφ ulo₧it soubor pouze do slo₧ky, kterß ji₧ existuje (Φili nebude mo₧nΘ vytvo°it novou):

' Nastavenφ titulku okna dialogu
CommonDialog1.DialogTitle = "Ulo₧it soubor ..."

' Nastavenφ filtru na typy sobour∙
CommonDialog1.Filter = "TextovΘ soubory (*.txt)|*."|VÜechny soubory (*.*)|*.*"

' Nastavenφ defaultnφho typu na textovΘ soubory
CommonDialog1.FilterIndex = 1

' Nastavenφ vlastnostφ dialogu
CommonDialog1.Flags = cdlOFNHideReadOnly + cdlOFNOverwritePrompt _
+ cdlOFNPathMustExist

' P°i stisku Storno se bude generovat chyba
CommonDialog1.CancelError = True

On Error Resume Next
' Zobrazenφ dialogu
CommonDialog1.ShowSave
If Err Then
    Msgbox "Dialog byl stornovßn"
    Exit Sub
End If

Msgbox "Ulo₧ili jste soubor jako:  " & CommonDialog1.FileName

Zp∞t DalÜφ

Autor: The Bozena