Compartir a través de


Estructura OPENFILENAMEW (commdlg.h)

[A partir de Windows Vista, los cuadros de diálogo comunes Abrir y guardar como común se han reemplazado por el cuadro de diálogo elemento común. Se recomienda usar Common Item Dialog API en lugar de estos cuadros de diálogo de la biblioteca de cuadros de diálogo comunes.

Contiene información que las funciones de GetOpenFileName y GetSaveFileName usan para inicializar un Cuadro de diálogo Abrir o Guardar como. Una vez que el usuario cierra el cuadro de diálogo, el sistema devuelve información sobre la selección del usuario en esta estructura.

Sintaxis

typedef struct tagOFNW {
  DWORD         lStructSize;
  HWND          hwndOwner;
  HINSTANCE     hInstance;
  LPCWSTR       lpstrFilter;
  LPWSTR        lpstrCustomFilter;
  DWORD         nMaxCustFilter;
  DWORD         nFilterIndex;
  LPWSTR        lpstrFile;
  DWORD         nMaxFile;
  LPWSTR        lpstrFileTitle;
  DWORD         nMaxFileTitle;
  LPCWSTR       lpstrInitialDir;
  LPCWSTR       lpstrTitle;
  DWORD         Flags;
  WORD          nFileOffset;
  WORD          nFileExtension;
  LPCWSTR       lpstrDefExt;
  LPARAM        lCustData;
  LPOFNHOOKPROC lpfnHook;
  LPCWSTR       lpTemplateName;
  LPEDITMENU    lpEditInfo;
  LPCSTR        lpstrPrompt;
  void          *pvReserved;
  DWORD         dwReserved;
  DWORD         FlagsEx;
} OPENFILENAMEW, *LPOPENFILENAMEW;

Miembros

lStructSize

Tipo: DWORD de

Longitud, en bytes, de la estructura. Use sizeof (OPENFILENAME) para este parámetro.

hwndOwner

Tipo: HWND

Identificador de la ventana que posee el cuadro de diálogo. Este miembro puede ser cualquier identificador de ventana válido o puede ser NULL si el cuadro de diálogo no tiene propietario.

hInstance

Tipo: HINSTANCE

Si la marca OFN_ENABLETEMPLATEHANDLE está establecida en el miembro flags , hInstance es un identificador de un objeto de memoria que contiene una plantilla de cuadro de diálogo. Si se establece la marca OFN_ENABLETEMPLATE, hInstance es un identificador de un módulo que contiene una plantilla de cuadro de diálogo denominada por el miembro lpTemplateName. Si no se establece ninguna marca, se omite este miembro. Si se establece la marca OFN_EXPLORER, el sistema usa la plantilla especificada para crear un cuadro de diálogo que sea un elemento secundario del cuadro de diálogo de estilo explorador predeterminado. Si no se establece la marca OFN_EXPLORER, el sistema usa la plantilla para crear un cuadro de diálogo de estilo antiguo que reemplace el cuadro de diálogo predeterminado.

lpstrFilter

Tipo: LPCTSTR de

Un búfer que contiene pares de cadenas de filtro terminadas en NULL. La última cadena del búfer debe terminarse por dos caracteres NULL.

La primera cadena de cada par es una cadena para mostrar que describe el filtro (por ejemplo, "Archivos de texto") y la segunda cadena especifica el patrón de filtro (por ejemplo, ".TXT"). Para especificar varios patrones de filtro para una sola cadena de visualización, use un punto y coma para separar los patrones (por ejemplo, ".TXT;.DOC;. BAK"). Una cadena de patrón puede ser una combinación de caracteres de nombre de archivo válidos y el carácter comodín asterisco (*) . No incluya espacios en la cadena de patrón.

El sistema no cambia el orden de los filtros. Los muestra en el cuadro combinado tipos de archivo de en el orden especificado en lpstrFilter.

Si lpstrFilter es null, el cuadro de diálogo no muestra ningún filtro.

En el caso de un acceso directo, si no se establece ningún filtro, GetOpenFileName y GetSaveFileName recuperar el nombre del archivo .lnk, no su destino. Este comportamiento es el mismo que establecer la marca OFN_NODEREFERENCELINKS en el miembro Flags. Para recuperar el destino de un acceso directo sin filtrar, use la cadena "All Files\0*.*\0\0".

lpstrCustomFilter

Tipo: LPTSTR de

Un búfer estático que contiene un par de cadenas de filtro terminadas en NULL para conservar el patrón de filtro elegido por el usuario. La primera cadena es la cadena para mostrar que describe el filtro personalizado y la segunda cadena es el patrón de filtro seleccionado por el usuario. La primera vez que la aplicación crea el cuadro de diálogo, se especifica la primera cadena, que puede ser cualquier cadena no vacía. Cuando el usuario selecciona un archivo, el cuadro de diálogo copia el patrón de filtro actual en la segunda cadena. El patrón de filtro conservado puede ser uno de los patrones especificados en el lpstrFilter búfer, o puede ser un patrón de filtro escrito por el usuario. El sistema usa las cadenas para inicializar el filtro de archivo definido por el usuario la próxima vez que se cree el cuadro de diálogo. Si el nFilterIndex miembro es cero, el cuadro de diálogo usa el filtro personalizado.

Si este miembro es NULL, el cuadro de diálogo no conserva los patrones de filtro definidos por el usuario.

Si este miembro no es NULL, el valor del miembro nMaxCustFilter debe especificar el tamaño, en caracteres, del búfer de lpstrCustomFilter.

nMaxCustFilter

Tipo: DWORD de

Tamaño, en caracteres, del búfer identificado por lpstrCustomFilter. Este búfer debe tener al menos 40 caracteres de longitud. Este miembro se omite si lpstrCustomFilter es NULL o apunta a una cadena NULL.

nFilterIndex

Tipo: DWORD de

Índice del filtro seleccionado actualmente en el control tipos de archivo . El búfer al que apunta lpstrFilter contiene pares de cadenas que definen los filtros. El primer par de cadenas tiene un valor de índice de 1, el segundo par 2, etc. Un índice de cero indica el filtro personalizado especificado por lpstrCustomFilter. Puede especificar un índice en la entrada para indicar la descripción inicial del filtro y el patrón de filtro para el cuadro de diálogo. Cuando el usuario selecciona un archivo, nFilterIndex devuelve el índice del filtro mostrado actualmente. Si nFilterIndex es cero y lpstrCustomFilter es NULL, el sistema usa el primer filtro del búfer de lpstrFilter. Si los tres miembros son cero o NULL, el sistema no usa ningún filtro y no muestra ningún archivo en el control de lista de archivos del cuadro de diálogo.

lpstrFile

Tipo: LPTSTR de

Nombre de archivo usado para inicializar el nombre de archivo control de edición. El primer carácter de este búfer debe ser NULL si no es necesaria la inicialización. Cuando el GetOpenFileName o función GetSaveFileName devuelve correctamente, este búfer contiene el designador de unidad, la ruta de acceso, el nombre de archivo y la extensión del archivo seleccionado.

Si se establece la marca OFN_ALLOWMULTISELECT y el usuario selecciona varios archivos, el búfer contiene el directorio actual seguido de los nombres de archivo de los archivos seleccionados. En el caso de los cuadros de diálogo de estilo explorador, las cadenas de nombre de archivo y directorio se se separan NULL, con un carácter de NULL adicional después del apellido del archivo. Para los cuadros de diálogo de estilo antiguo, las cadenas están separadas por espacios y la función usa nombres de archivo cortos para los nombres de archivo con espacios. Puede usar la función FindFirstFile para convertir entre nombres de archivo largos y cortos. Si el usuario selecciona solo un archivo, el lpstrFile cadena no tiene un separador entre la ruta de acceso y el nombre de archivo.

Si el búfer es demasiado pequeño, la función devuelve FALSE y la función CommDlgExtendedError devuelve FNERR_BUFFERTOOSMALL. En este caso, los dos primeros bytes del lpstrFile búfer contienen el tamaño necesario, en bytes o caracteres.

nMaxFile

Tipo: DWORD de

Tamaño, en caracteres, del búfer al que apunta lpstrFile. El búfer debe ser lo suficientemente grande como para almacenar la ruta de acceso y la cadena o cadenas de nombre de archivo, incluido el carácter de NULL. Las funciones getOpenFileName y GetSaveFileName devuelven FALSE si el búfer es demasiado pequeño para contener la información del archivo. El búfer debe tener al menos 256 caracteres.

lpstrFileTitle

Tipo: LPTSTR de

Nombre de archivo y extensión (sin información de ruta de acceso) del archivo seleccionado. Este miembro puede ser NULL.

nMaxFileTitle

Tipo: DWORD de

Tamaño, en caracteres, del búfer al que apunta lpstrFileTitle. Este miembro se omite si lpstrFileTitle es NULL.

lpstrInitialDir

Tipo: LPCTSTR de

Directorio inicial. El algoritmo para seleccionar el directorio inicial varía en distintas plataformas.

Windows 7:

  1. Si lpstrInitialDir tiene el mismo valor que se pasó la primera vez que la aplicación usó una Abrir o cuadro de diálogo Guardar como, la ruta de acceso seleccionada más recientemente por el usuario se usa como directorio inicial.
  2. De lo contrario, si lpstrFile contiene una ruta de acceso, esa ruta de acceso es el directorio inicial.
  3. De lo contrario, si lpstrInitialDir no es NULL, especifica el directorio inicial.
  4. Si lpstrInitialDir es null y el directorio actual contiene los archivos de los tipos de filtro especificados, el directorio inicial es el directorio actual.
  5. De lo contrario, el directorio inicial es el directorio de archivos personales del usuario actual.
  6. De lo contrario, el directorio inicial es la carpeta Escritorio.
Windows 2000/XP/Vista:
  1. Si lpstrFile contiene una ruta de acceso, esa ruta de acceso es el directorio inicial.
  2. De lo contrario, lpstrInitialDir especifica el directorio inicial.
  3. De lo contrario, si la aplicación ha usado un Abrir o cuadro de diálogo Guardar como en el pasado, la ruta de acceso usada más recientemente se selecciona como directorio inicial. Sin embargo, si una aplicación no se ejecuta durante mucho tiempo, se descarta su ruta de acceso seleccionada guardada.
  4. Si lpstrInitialDir es null y el directorio actual contiene los archivos de los tipos de filtro especificados, el directorio inicial es el directorio actual.
  5. De lo contrario, el directorio inicial es el directorio de archivos personales del usuario actual.
  6. De lo contrario, el directorio inicial es la carpeta Escritorio.

lpstrTitle

Tipo: LPCTSTR de

Cadena que se va a colocar en la barra de título del cuadro de diálogo. Si este miembro es null, el sistema usa el título predeterminado (es decir, Guardar como o Abrir).

Flags

Tipo: DWORD de

Un conjunto de marcas de bits que puede usar para inicializar el cuadro de diálogo. Cuando el cuadro de diálogo vuelve, establece estas marcas para indicar la entrada del usuario. Este miembro puede ser una combinación de las marcas siguientes.

Valor Significado
OFN_ALLOWMULTISELECT
0x00000200
El cuadro de lista Nombre de archivo permite varias selecciones. Si también establece la marca OFN_EXPLORER, el cuadro de diálogo usa la interfaz de usuario de estilo Explorador; de lo contrario, usa la interfaz de usuario de estilo anterior.

Si el usuario selecciona más de un archivo, el lpstrFile búfer devuelve la ruta de acceso al directorio actual seguido de los nombres de archivo de los archivos seleccionados. El miembro nFileOffset es el desplazamiento, en bytes o caracteres, en el primer nombre de archivo y no se usa el miembro nFileExtension de . En el caso de los cuadros de diálogo de estilo explorador, las cadenas de nombre de archivo y directorio se se separan NULL, con un carácter de NULL adicional después del apellido del archivo. Este formato permite que los cuadros de diálogo de estilo explorador devuelvan nombres de archivo largos que incluyan espacios. Para los cuadros de diálogo de estilo antiguo, las cadenas de directorio y nombre de archivo están separadas por espacios y la función usa nombres de archivo cortos para los nombres de archivo con espacios. Puede usar la función FindFirstFile para convertir entre nombres de archivo largos y cortos.

Si especifica una plantilla personalizada para un cuadro de diálogo de estilo antiguo, la definición del cuadro de lista nombre de archivo debe contener el valor de LBS_EXTENDEDSEL.

OFN_CREATEPROMPT
0x00002000
Si el usuario especifica un archivo que no existe, esta marca hace que el cuadro de diálogo pida al usuario permiso para crear el archivo. Si el usuario decide crear el archivo, el cuadro de diálogo se cierra y la función devuelve el nombre especificado; de lo contrario, el cuadro de diálogo permanece abierto. Si usa esta marca con la marca OFN_ALLOWMULTISELECT, el cuadro de diálogo permite al usuario especificar solo un archivo inexistente.
OFN_DONTADDTORECENT
0x02000000
Impide que el sistema agregue un vínculo al archivo seleccionado en el directorio del sistema de archivos que contiene los documentos usados por el usuario más recientemente. Para recuperar la ubicación de este directorio, llame a la función SHGetSpecialFolderLocation con la marca CSIDL_RECENT.
OFN_ENABLEHOOK
0x00000020
Habilita la función de enlace especificada en el miembro lpfnHook.
OFN_ENABLEINCLUDENOTIFY
0x00400000
Hace que el cuadro de diálogo envíe mensajes de notificación CDN_INCLUDEITEM a su procedimiento de enlace OFNHookProc cuando el usuario abre una carpeta. El cuadro de diálogo envía una notificación para cada elemento de la carpeta recién abierta. Estos mensajes le permiten controlar qué elementos muestra el cuadro de diálogo en la lista de elementos de la carpeta.
OFN_ENABLESIZING
0x00800000
Permite cambiar el tamaño del cuadro de diálogo de estilo explorador mediante el mouse o el teclado. De forma predeterminada, el Abrir de estilo explorador y cuadros de diálogo Guardar como permiten cambiar el tamaño del cuadro de diálogo independientemente de si se establece esta marca. Esta marca solo es necesaria si proporciona un procedimiento de enlace o una plantilla personalizada. El cuadro de diálogo de estilo antiguo no permite cambiar el tamaño.
OFN_ENABLETEMPLATE
0x00000040
El miembro lpTemplateName de es un puntero al nombre de un recurso de plantilla de diálogo en el módulo identificado por el miembro hInstance. Si se establece la marca OFN_EXPLORER, el sistema usa la plantilla especificada para crear un cuadro de diálogo que sea un elemento secundario del cuadro de diálogo de estilo explorador predeterminado. Si no se establece la marca OFN_EXPLORER, el sistema usa la plantilla para crear un cuadro de diálogo de estilo antiguo que reemplace el cuadro de diálogo predeterminado.
OFN_ENABLETEMPLATEHANDLE
0x00000080
El miembro hInstance identifica un bloque de datos que contiene una plantilla de cuadro de diálogo precargada. El sistema omite lpTemplateName si se especifica esta marca. Si se establece la marca OFN_EXPLORER, el sistema usa la plantilla especificada para crear un cuadro de diálogo que sea un elemento secundario del cuadro de diálogo de estilo explorador predeterminado. Si no se establece la marca OFN_EXPLORER, el sistema usa la plantilla para crear un cuadro de diálogo de estilo antiguo que reemplace el cuadro de diálogo predeterminado.
OFN_EXPLORER
0x00080000
Indica que las personalizaciones realizadas en la Abrir o guardar como cuadro de diálogo usan los métodos de personalización de estilo explorador. Para obtener más información, vea Explorer-Style procedimientos de enlace y plantillas personalizadas Explorer-Style.

De forma predeterminada, el Abrir y cuadros de diálogo Guardar como usan la interfaz de usuario de estilo Explorador, independientemente de si se establece esta marca. Esta marca solo es necesaria si proporciona un procedimiento de enlace o una plantilla personalizada, o establece la marca OFN_ALLOWMULTISELECT.

Si desea la interfaz de usuario de estilo anterior, omita la marca OFN_EXPLORER y proporcione un procedimiento de enlace o plantilla de estilo antiguo de reemplazo. Si desea el estilo antiguo, pero no necesita una plantilla personalizada o un procedimiento de enlace, simplemente proporcione un procedimiento de enlace que siempre devuelva FALSE.

OFN_EXTENSIONDIFFERENT
0x00000400
El usuario ha escrito una extensión de nombre de archivo que difiere de la extensión especificada por lpstrDefExt. La función no usa esta marca si lpstrDefExt es NULL.
OFN_FILEMUSTEXIST
0x00001000
El usuario solo puede escribir nombres de archivos existentes en el campo de entrada nombre de archivo . Si se especifica esta marca y el usuario escribe un nombre no válido, el procedimiento del cuadro de diálogo muestra una advertencia en un cuadro de mensaje. Si se especifica esta marca, también se usa la marca OFN_PATHMUSTEXIST. Esta marca se puede usar en un cuadro de diálogo Abrir . No se puede usar con un cuadro de diálogo Guardar como .
OFN_FORCESHOWHIDDEN
0x10000000
Fuerza la visualización de archivos ocultos y del sistema, reemplazando así la configuración del usuario para mostrar o no mostrar archivos ocultos. Sin embargo, no se muestra un archivo marcado tanto en el sistema como oculto.
OFN_HIDEREADONLY
0x00000004
Oculta la casilla de solo lectura.
OFN_LONGNAMES
0x00200000
Para los cuadros de diálogo de estilo antiguo, esta marca hace que el cuadro de diálogo use nombres de archivo largos. Si no se especifica esta marca o si también se establece la marca OFN_ALLOWMULTISELECT, los cuadros de diálogo de estilo antiguo usan nombres de archivo cortos (formato 8.3) para los nombres de archivo con espacios. Los cuadros de diálogo de estilo explorador omiten esta marca y siempre muestran nombres de archivo largos.
OFN_NOCHANGEDIR
0x00000008
Restaura el directorio actual a su valor original si el usuario cambió el directorio mientras busca archivos.

Esta marca no es eficaz para GetOpenFileName.

OFN_NODEREFERENCELINKS
0x00100000
Dirige el cuadro de diálogo para devolver la ruta de acceso y el nombre de archivo del acceso directo seleccionado (. Archivo LNK). Si no se especifica este valor, el cuadro de diálogo devuelve la ruta de acceso y el nombre de archivo del archivo al que hace referencia el acceso directo.
OFN_NOLONGNAMES
0x00040000
Para los cuadros de diálogo de estilo antiguo, esta marca hace que el cuadro de diálogo use nombres de archivo cortos (formato 8.3). Los cuadros de diálogo de estilo explorador omiten esta marca y siempre muestran nombres de archivo largos.
OFN_NONETWORKBUTTON
0x00020000
Oculta y deshabilita el botón red de .
OFN_NOREADONLYRETURN
0x00008000
El archivo devuelto no tiene activada la casilla solo lectura y no está en un directorio protegido por escritura.
OFN_NOTESTFILECREATE
0x00010000
El archivo no se crea antes de cerrar el cuadro de diálogo. Esta marca debe especificarse si la aplicación guarda el archivo en un recurso compartido de red create-nonmodify. Cuando una aplicación especifica esta marca, la biblioteca no comprueba la protección de escritura, un disco completo, una puerta de unidad abierta o una protección de red. Las aplicaciones que usan esta marca deben realizar operaciones de archivo cuidadosamente, ya que no se puede volver a abrir un archivo una vez cerrado.
OFN_NOVALIDATE
0x00000100
Los cuadros de diálogo comunes permiten caracteres no válidos en el nombre de archivo devuelto. Normalmente, la aplicación que realiza la llamada usa un procedimiento de enlace que comprueba el nombre de archivo mediante el mensaje FILEOKSTRING. Si el cuadro de texto del control de edición está vacío o no contiene nada más que espacios, se actualizan las listas de archivos y directorios. Si el cuadro de texto del control de edición contiene cualquier otra cosa, nFileOffset y nFileExtension se establecen en valores generados mediante el análisis del texto. No se agrega ninguna extensión predeterminada al texto ni se copia el texto en el búfer especificado por lpstrFileTitle. Si el valor especificado por nFileOffset es menor que cero, el nombre de archivo no es válido. De lo contrario, el nombre de archivo es válido y nFileExtension y nFileOffset se puede usar como si no se hubiera especificado la marca OFN_NOVALIDATE.
OFN_OVERWRITEPROMPT
0x00000002
Hace que el cuadro de diálogo Guardar como genere un cuadro de mensaje si el archivo seleccionado ya existe. El usuario debe confirmar si se va a sobrescribir el archivo.
OFN_PATHMUSTEXIST
0x00000800
El usuario solo puede escribir rutas de acceso válidas y nombres de archivo. Si se usa esta marca y el usuario escribe una ruta de acceso y un nombre de archivo no válidos en el campo de entrada nombre de archivo , la función del cuadro de diálogo muestra una advertencia en un cuadro de mensaje.
OFN_READONLY
0x00000001
Hace que la casilla de solo lectura se active inicialmente cuando se crea el cuadro de diálogo. Esta marca indica el estado del de solo lectura cuando se cierra el cuadro de diálogo.
OFN_SHAREAWARE
0x00004000
Especifica que si se produce un error en una llamada a la función OpenFile debido a una infracción de uso compartido de red, se omite el error y el cuadro de diálogo devuelve el nombre de archivo seleccionado. Si no se establece esta marca, el cuadro de diálogo notifica al procedimiento de enlace cuando se produce una infracción de uso compartido de red para el nombre de archivo especificado por el usuario. Si establece la marca OFN_EXPLORER, el cuadro de diálogo envía el mensaje CDN_SHAREVIOLATION al procedimiento de enlace. Si no establece OFN_EXPLORER, el cuadro de diálogo envía el SHAREVISTRING mensaje registrado al procedimiento de enlace.
OFN_SHOWHELP
0x00000010
Hace que el cuadro de diálogo muestre el botón Ayuda. El miembro hwndOwner debe especificar la ventana para recibir el HELPMSGSTRING mensajes registrados que envía el cuadro de diálogo cuando el usuario hace clic en el botón Ayuda. Un cuadro de diálogo de estilo explorador envía un mensaje de notificación CDN_HELP al procedimiento de enlace cuando el usuario hace clic en el botón Ayuda.

nFileOffset

Tipo: word

Desplazamiento de base cero, en caracteres, desde el principio de la ruta de acceso al nombre de archivo de la cadena a la que apunta lpstrFile. Para la versión ANSI, este es el número de bytes; para la versión Unicode, este es el número de caracteres. Por ejemplo, si lpstrFile apunta a la siguiente cadena, "c:\dir1\dir2\file.ext", este miembro contiene el valor 13 para indicar el desplazamiento de la cadena "file.ext". Si el usuario selecciona más de un archivo, nFileOffset es el desplazamiento al nombre de archivo.

nFileExtension

Tipo: word

Desplazamiento de base cero, en caracteres, desde el principio de la ruta de acceso a la extensión de nombre de archivo en la cadena a la que apunta lpstrFile. Para la versión ANSI, este es el número de bytes; para la versión Unicode, este es el número de caracteres. Normalmente, la extensión de nombre de archivo es la subcadena que sigue a la última aparición del carácter de punto ("."). Por ejemplo, txt es la extensión del nombre de archivo readme.txt, html la extensión de readme.txt.html. Por lo tanto, si lpstrFile apunta a la cadena "c:\dir1\dir2\readme.txt", este miembro contiene el valor 20. Si lpstrFile apunta a la cadena "c:\dir1\dir2\readme.txt.html", este miembro contiene el valor 24. Si lpstrFile apunta a la cadena "c:\dir1\dir2\readme.txt.html.", este miembro contiene el valor 29. Si lpstrFile apunta a una cadena que no contiene ningún carácter "." como "c:\dir1\dir2\readme", este miembro contiene cero.

lpstrDefExt

Tipo: LPCTSTR de

Extensión predeterminada. getOpenFileName y GetSaveFileName anexar esta extensión al nombre de archivo si el usuario no puede escribir una extensión. Esta cadena puede tener cualquier longitud, pero solo se anexan los tres primeros caracteres. La cadena no debe contener un punto (.). Si este miembro es NULL y el usuario no puede escribir una extensión, no se anexa ninguna extensión.

lCustData

Tipo: LPARAM

Datos definidos por la aplicación que el sistema pasa al procedimiento de enlace identificado por el miembro lpfnHook. Cuando el sistema envía el mensaje WM_INITDIALOG al procedimiento de enlace, el parámetro lParam del mensaje es un puntero a la estructura OPENFILENAME especificada cuando se creó el cuadro de diálogo. El procedimiento de enlace puede usar este puntero para obtener el valor de lCustData.

lpfnHook

Tipo: LPOFNHOOKPROC

Puntero a un procedimiento de enlace. Este miembro se omite a menos que el miembro Flags incluya la marca OFN_ENABLEHOOK.

Si la marca OFN_EXPLORER no está establecida en el miembro de Flags, lpfnHook es un puntero a un procedimiento de enlace OFNHookProcOldStyle que recibe mensajes destinados al cuadro de diálogo. El procedimiento de enlace devuelve FALSE para pasar un mensaje al procedimiento del cuadro de diálogo predeterminado o TRUE para descartar el mensaje.

Si se establece OFN_EXPLORER, lpfnHook es un puntero a un procedimiento de enlace OFNHookProc . El procedimiento de enlace recibe mensajes de notificación enviados desde el cuadro de diálogo. El procedimiento de enlace también recibe mensajes para los controles adicionales que haya definido especificando una plantilla de diálogo secundaria. El procedimiento de enlace no recibe mensajes destinados a los controles estándar del cuadro de diálogo predeterminado.

lpTemplateName

Tipo: LPCTSTR de

Nombre del recurso de plantilla de diálogo en el módulo identificado por el miembro hInstance. Para los recursos de cuadro de diálogo numerados, puede ser un valor devuelto por la macro MAKEINTRESOURCE. Este miembro se omite a menos que la marca de OFN_ENABLETEMPLATE esté establecida en el miembro marcas de . Si se establece la marca OFN_EXPLORER, el sistema usa la plantilla especificada para crear un cuadro de diálogo que sea un elemento secundario del cuadro de diálogo de estilo explorador predeterminado. Si no se establece la marca OFN_EXPLORER, el sistema usa la plantilla para crear un cuadro de diálogo de estilo antiguo que reemplace el cuadro de diálogo predeterminado.

lpEditInfo

Este miembro se compila condicionalmente (mediante #ifdef _MAC) para que solo sea aplicable a los equipos Macintosh motorola 68K y no a los sistemas operativos cliente windows.

lpstrPrompt

Este miembro se compila condicionalmente (mediante #ifdef _MAC) para que solo sea aplicable a los equipos Macintosh motorola 68K y no a los sistemas operativos cliente windows.

pvReserved

Tipo: void*

Este miembro está reservado.

dwReserved

Tipo: DWORD de

Este miembro está reservado.

FlagsEx

Tipo: DWORD de

Un conjunto de marcas de bits que puede usar para inicializar el cuadro de diálogo. Actualmente, este miembro puede ser cero o la marca siguiente.

Valor Significado
OFN_EX_NOPLACESBAR
0x00000001
Si se establece esta marca, no se muestra la barra de ubicaciones. Si no se establece esta marca, los cuadros de diálogo de estilo explorador incluyen una barra de ubicaciones que contiene iconos para carpetas usadas habitualmente, como Favoritos y Escritorio.

Observaciones

Por motivos de compatibilidad, la barra de lugares está oculta si marcas está establecida en OFN_ENABLEHOOK y lStructSize es OPENFILENAME_SIZE_VERSION_400.

Nota

El encabezado commdlg.h define OPENFILENAME como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
encabezado de commdlg.h (incluya Windows.h)

Consulte también

biblioteca de cuadros de diálogo común de

conceptual de

GetOpenFileName

GetSaveFileName

otros recursos

de referencia de

SHGetSpecialFolderLocation