Win32 функция для OpenFileDialog?

Я ищу функцию что-то вроде OpenFileDialog на .NET но на win32Я не могу найти эту функцию по этому имени в MSDN, и я помню, что эта функция существует.

Кто-нибудь может дать мне имя?

Привет,

2 ответа

Решение

Я считаю, что вы ищете GetOpenFileName.

//make sure this is commented out in all code (usually stdafx.h)
// #define WIN32_LEAN_AND_MEAN 

#include <windows.h>

OPENFILENAME ofn;       // common dialog box structure
TCHAR szFile[260] = { 0 };       // if using TCHAR macros

// Initialize OPENFILENAME
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hWnd;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = _T("All\0*.*\0Text\0*.TXT\0");
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

if (GetOpenFileName(&ofn) == TRUE)
{
    // use ofn.lpstrFile
}

Взято из отображения диалога открытия файла с помощью WinApi

Другие вопросы по тегам