Dette emnet beskriver eksempelkode som viser en Åpne -dialogboks slik at en bruker kan angi stasjonen, katalog, og navnet på filen du vil åpne. Eksempelkoden initialiserer først en OPENFILENAME struktur, og deretter kaller den GetOpenFileName -funksjonen for å vise dialogboksen.
I dette eksemplet er det lpstrFilter -medlem som peker til en buffer som angir to filnavn filter som brukeren kan velge for å begrense filnavnene som vises. Bufferen inneholder en dobbel-null-avsluttede matrise av strenger som er der hvert par angir et filter. NFilterIndex -medlem angir at det første mønsteret brukes når dialogboksen er opprettet.
Dette eksemplet angir flaggene OFN_PATHMUSTEXIST og OFN_FILEMUSTEXIST i flaggene -medlem. Disse flaggene føre til dialogboksen for å bekrefte, før retur, som banen og filnavnet som er angitt av brukeren faktisk eksisterer.
GetOpenFileName -funksjonen returnerer SANN hvis brukeren klikker OK -knappen og angitte banen og filnavnet finnes. I dette tilfellet inneholder bufferen som medlemmet lpstrFile peker til banen og filnavnet. Eksempelkoden bruker denne informasjonen i et kall til den CreateFile -funksjon for å åpne filen.
Selv om dette eksemplet ikke angir flagget OFN_EXPLORER, er det fortsatt viser standard Explorer-stil Åpne dialogboksen. Hvis du vil gi en hook-prosedyre eller en egendefinert mal, og du vil bruke Explorer-brukergrensesnittet, må du imidlertid angi flagget OFN_EXPLORER.
OPENFILENAME ØFN; / / felles struktur, dialogboks
char szFile [260]; / / bufre for filnavn
HWND hwnd; / / Eiervinduet
HÅNDTERE hf; / / fil håndtaket
/ / Initialisere OPENFILENAME
ZeroMemory (amp; ØFN, 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;
ØFN.Flagg = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
/ / Vise dialogboksen Åpne.
Hvis (GetOpenFileName(&ofn) == TRUE) hf = CreateFile (ofn.lpstrFile, GENERIC_READ,
0, NULL (LPSECURITY_ATTRIBUTES),
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
(HÅNDTERE) NULL)