Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo llamar al cuadro de diálogo de abrir archivo en vc++

Cómo llamar al cuadro de diálogo de abrir archivo en vc++

MFC abre el cuadro de diálogo para guardar el archivo

1. Abra la carpeta:

1. Implementación de CFileDialog

CFileDialog hFileDlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST | OFN_READONLY,

TEXT("Archivos de imagen compatibles (*.jpg;*.gif;*.bmp;...) |*.jpg;*.gif;*.bmp|Archivos de imagen Tiff especializados ( *.tiff;*.tif)|*.tiff;*.tif| Todos los archivos (*. *)|*.|"),NULL);

hFileDlg.m_ofn.nFilterIndex=1;

hFileDlg.m_ofn.hwndOwner=m_hWnd;

hFileDlg.m_ofn.lStructSize=sizeof(OPENFILENAME);

hFileDlg.m_ofn.lpstr=m_hWnd. m_ofn.lpstrTitle=TEXT("Abriendo archivo de imagen... \0");

hFileDlg.m_ofn.nMaxFile=MAX_PATH;

if(hFileDlg.DoModal() == IDOK )

{

m_path = hFileDlg.GetPathName();

UpdateData(FALSE);

}

2. Implementación

OPENFILENAMEA ofn;

char szFile[260]

ZeroMemory(&ofn, sizeof(ofn));

ofn.lStructSize = sizeof(ofn);

ofn.hwndOwner = NULL;

ofn.lpstrFile = szFile;

ofn.lpstrFile[0] = szFile;

ofn.lpstrFile[0] = szFile. lpstrFile[0] = '\0';

ofn.nFilterIndex = 1;

ofn.lpstrFileTitle = NULL;

ofn...nMaxFileTitle = 0 ;

ofn.lpstrInitialDir = NULL;

ofn...Flags = 0;

if (GetOpenFileNameA(&ofn)==FALSE)

{

Devuelve S_FALSE;

}

CString c_save_path=ofn.lpstrFile;

2. p >

Igual que el anterior, excepto

cambie CFileDialog hFileDlg(true,NULL) a CFileDialog hFileDlg(false,NULL,

o cambie GetOpenFileNameA a GetSaveFileNameA.

3. Cuadro de diálogo Examinar carpeta

//Función de devolución de llamada

int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)

p>

{

if( uMsg==BFFM_SELCHANGED||uMsg==BFFM_INITIALIZED)

{

if(uMsg==BFFM_INITIALIZED)< / p>

{

::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,LPARAM(lpData));

}

}

return 0;

}

TCHAR chPath[255]; //Cadena utilizada para almacenar la ruta

CString strPath = ""; p>

BROWSEINFO bInfo;

GetModuleFileName(NULL,chPath,MAX_PATH);

strPath = chPath;

ZeroMemory(& bInfo, sizeof (bInfo ));

bInfo.hwndOwner = m_hWnd;

bInfo.lpszTitle = _T("Seleccione la ruta:");

bInfo.ulFlags = BIF_RETURNONLYFSDIRS| BIF_ EDITBOX;

bInfo.lpfn = BrowseCallbackProc;

bInfo.lParam = (LPARAM)strPath.GetBuffer(strPath.GetLength());

LPITEMIDLIST lpDlist ; //IDList se utiliza para guardar la información devuelta

lpDlist = SHBrowseForFolder(&bInfo); //Muestra el cuadro de diálogo de selección

if(lpDlist != NULL) / /El usuario presionó el botón OK

{

SHGetPathFromIDList(lpDlist, chPath); //Convierte una lista de identificadores de elementos en una cadena

strPath = chPath; //Convierte una cadena de tipo TCHAR en una cadena de tipo CString

m_save_path = strPath;

UpdateData(FALSE);

}

Título del cuadro de diálogo Configuración:

dlg.m_ofn.lpstrTitle = _T("Abrir imagen");

Establecer título del cuadro de diálogo:

dlg.