¿Cómo utilizar la API de Windows para escribir un fragmento de código para abrir un cuadro de diálogo de archivo?
De hecho, no tiene que preocuparse tanto y no necesita comprender completamente el significado de cada miembro. Si no lo comprende, simplemente mire MSDN. OPENFILENAME en MSDN es el siguiente:
typedef struct tagOFN { /* ofn */
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCSTR lpstrFilter;
p>
LPSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex; p>
LPSTR lpstrFile;
DWORD nMaxFile;
DWORD nFilterIndex;
DWORD nMaxFile;
p>
LPSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPSTR lpstrInitialDir;
LPCSTR lpstrTitle;
Banderas DWORD;
p>
WORD nFileOffset;
WORD nFileExtension;
LPCSTR lpstrDefExt;
DWORD lCustData;
LPOFNHOOKPROC lpfnHook; p>
p>
LPCSTR lpTemplateName;} OPENFILENAME;
Mirando el primer lstructsize, debe ser el tamaño de la estructura. Por supuesto, es esta estructura, por lo que se usará sizeof. para encontrar el tamaño de la estructura
hwndOWNER; La etiqueta de la ventana también es el identificador
La etiqueta de la instancia de hinstance es diferente en diferentes plataformas. La mía está configurada en NULL en VS2005
LPSTRfilter es, por supuesto, el filtro;
No entraré en detalles uno por uno a continuación. En resumen, según el nombre de cada miembro y las propiedades reales del cuadro de diálogo abierto, No le resultará difícil imaginar lo que significa esta propiedad. Si no lo comprende, simplemente vaya a MSDN. Si una estructura no puede contener todos los atributos, definitivamente se necesitarán otras estructuras.
Aprender un programa requiere perseverancia y no limitarse a un solo momento. Bueno, ya no he programado el SDK de WINDOWS, voy a mirar el algoritmo. Yo también lo haré.