Dosya açma

Kullanıcı sürücü, dizin ve açmak için dosyanın adını belirtebilirsiniz, böylece bir iletişim kutusunu görüntüler örnek kod açıklanmıştır. Örnek kod öncelikle bir OPENDOSYAADI yapısı başlatır ve sonra iletişim kutusunu görüntülemek için GetOpenFileName işlevini çağırır.

Bu örnekte, kullanıcı-ebilmek seçme görüntülenen dosya adlarını sınırlamak için iki dosya filtreleri belirleyen bir arabelleğe lpstrFilter üye işaret eder. Arabellek, bir çift boş sonlandırılmış dizisi dizelerin her bir çifti bir filtre belirten içerir. NFilterIndex üye iletişim kutusunu oluşturduğunuzda ilk deseni kullanıldığını belirtir.

Bu örnek, bayrakları üye için OFN_PATHMUSTEXIST ve OFN_FILEMUSTEXIST bayrakları ayarlar. Bu bayraklar, dönmeden önce doğrulamak için iletişim kutusunda kullanıcı tarafından belirtilen dosya adını ve yolunu aslında var neden.

GetOpenFileName işlevi, kullanycy ok dü?mesini tyklady?ynda belirtilen yol ve dosya adı var ise true döner. Bu durumda, lpstrFile üye tarafından işaret arabellek yolunu ve dosya adını içerir. Örnek kod bu bilgileri aramak için kullandığı dosyayı açmak için CreateFile işlevini.

Bu örnek ofn_explorer bayrağı ayarlı değil, ancak hala varsayılan Explorer tarzı iletişim kutusunu görüntüler. Ancak, Explorer kullanıcı arabirimi istediğiniz bir kanca işlemi veya özel bir şablon sağlamak istediğiniz ofn_explorer bayrağı ayarlamalısınız.

OPENDOSYAADI ofn;       / / ortak iletişim kutusu yapısı
char szFile [260];       / / tampon için dosya
hwnd hwnd;              / / sahibi penceresi
TANITICI hf;              / / Dosya tanıtıcısı

/ / OPENDOSYAADI başlatılamadı
ZeroMemory (amp; ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner hwnd; =
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0 ";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = null;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = null;
ofn.Bayrak = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

/ / Aç iletişim kutusunu görüntüler. 

Eğer (GetOpenFileName(&ofn) == true) hf = CreateFile (ofn.lpstrFile, GENERIC_READ,
        0, (LPSECURITY_ATTRIBUTES) NULL,
        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
        (DT) BOŞ) 

Index