Red de conocimiento informático - Material del sitio web - Cómo responder en tiempo real a la información sobre arrastrar después de presionar el mouse

Cómo responder en tiempo real a la información sobre arrastrar después de presionar el mouse

Desea arrastrar archivos desde Explorer o Mi PC directamente a su programa y abrirlos directamente.

Si está utilizando un programa MFC sin diálogo, debe agregar

DragAcceptFiles();

Luego arrastre el archivo nuevamente para ver los cambios.

Luego agregue el código para procesar el archivo en OnOpenDocument de

Doc:

Por ejemplo:

BOOL CXXXDoc::OnOpenDocument( LPCTSTR lpszPathName )

{

if (!p> str.Format("El archivo arrastrado es: s", lpszPathName);

AfxMessageBox(str);

p>

return TRUE;

}

// TODO: agregue su código de creación especializado aquí

CString str; >

CString.Format str.

}

Si desea recibir un mensaje sobre el archivo que se está arrastrando, puede intentar capturar el mensaje en CMainFrame WM_DROPFILES

Por ejemplo, en respuesta al mensaje WM_DROPFILES:

void CMainFrame::OnDropFiles(HDROP hDropInfo)

{

// TODO: agregar su manejo de mensajes aquí Código de programa y/o valores predeterminados de llamada

const int fileCount = DragQueryFile(hDropInfo, (UINT)-1, NULL, 0);

ASSERT(fileCount gt; = 1);

TCHAR fileName[MAX_PATH] = { 0 };

CString strFile

for (int i = 0; i lt; fileCount; i )

p>

{

DragQueryFile(hDropInfo, i, fileName, MAX_PATH);

strFile = fileName

strFile = " ,";

p>

}

CString str;

str.Format("El archivo arrastrado es: s", strFile);

Cuadro de mensaje (cadena);

CFrameWnd::OnDropFiles(hDropInfo);

}