Partager via


OPENFILENAMEW, structure (commdlg.h)

[À compter de Windows Vista, les boîtes de dialogue Ouvrir et Enregistrer sous boîtes de dialogue courantes ont été remplacées par la boîte de dialogue Élément commun. Nous vous recommandons d’utiliser l’API de boîte de dialogue Élément commun au lieu de ces boîtes de dialogue à partir de la bibliothèque de boîtes de dialogue commune.]

Contient des informations que les fonctions GetOpenFileName et GetSaveFileName utilisent pour initialiser un Ouvrir ou boîte de dialogue Enregistrer sous. Une fois que l’utilisateur ferme la boîte de dialogue, le système retourne des informations sur la sélection de l’utilisateur dans cette structure.

Syntaxe

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;

Membres

lStructSize

Type : DWORD

Longueur, en octets, de la structure. Utilisez sizeof (OPENFILENAME) pour ce paramètre.

hwndOwner

Type : HWND

Handle de la fenêtre propriétaire de la boîte de dialogue. Ce membre peut être n’importe quel handle de fenêtre valide, ou il peut être null si la boîte de dialogue n’a aucun propriétaire.

hInstance

Type : HINSTANCE

Si l’indicateur de OFN_ENABLETEMPLATEHANDLE est défini dans le membre indicateurs de , hInstance est un handle vers un objet mémoire contenant un modèle de boîte de dialogue. Si l’indicateur OFN_ENABLETEMPLATE est défini, hInstance est un handle pour un module qui contient un modèle de boîte de dialogue nommé par le membre lpTemplateName. Si aucun indicateur n’est défini, ce membre est ignoré. Si l’indicateur OFN_EXPLORER est défini, le système utilise le modèle spécifié pour créer une boîte de dialogue enfant de la boîte de dialogue de style Explorateur par défaut. Si l’indicateur OFN_EXPLORER n’est pas défini, le système utilise le modèle pour créer une boîte de dialogue de style ancien qui remplace la boîte de dialogue par défaut.

lpstrFilter

Type : LPCTSTR

Mémoire tampon contenant des paires de chaînes de filtre terminées par null. La dernière chaîne de la mémoire tampon doit être arrêtée par deux caractères NULL.

La première chaîne de chaque paire est une chaîne d’affichage qui décrit le filtre (par exemple, « Fichiers texte »), et la deuxième chaîne spécifie le modèle de filtre (par exemple, «.TXT »). Pour spécifier plusieurs modèles de filtre pour une chaîne d’affichage unique, utilisez un point-virgule pour séparer les modèles (par exemple, «.TXT ;.DOC ;. BAK"). Une chaîne de modèle peut être une combinaison de caractères de nom de fichier valides et du caractère générique astérisque (*). N’incluez pas d’espaces dans la chaîne de modèle.

Le système ne modifie pas l’ordre des filtres. Il les affiche dans la zone de liste déroulante types de fichiers dans l’ordre spécifié dans lpstrFilter.

Si lpstrFilter est NULL, la boîte de dialogue n’affiche aucun filtre.

Dans le cas d’un raccourci, si aucun filtre n’est défini, GetOpenFileName et GetSaveFileName récupérer le nom du fichier .lnk, et non sa cible. Ce comportement est identique à la définition de l’indicateur de OFN_NODEREFERENCELINKS dans le membre Indicateurs. Pour récupérer la cible d’un raccourci sans filtrage, utilisez la chaîne "All Files\0*.*\0\0".

lpstrCustomFilter

Type : LPTSTR

Mémoire tampon statique qui contient une paire de chaînes de filtre terminées par null pour préserver le modèle de filtre choisi par l’utilisateur. La première chaîne est votre chaîne d’affichage qui décrit le filtre personnalisé, et la deuxième chaîne est le modèle de filtre sélectionné par l’utilisateur. La première fois que votre application crée la boîte de dialogue, vous spécifiez la première chaîne, qui peut être n’importe quelle chaîne vide. Lorsque l’utilisateur sélectionne un fichier, la boîte de dialogue copie le modèle de filtre actuel dans la deuxième chaîne. Le modèle de filtre conservé peut être l’un des modèles spécifiés dans la mémoire tampon lpstrFilter, ou il peut s’agir d’un modèle de filtre typé par l’utilisateur. Le système utilise les chaînes pour initialiser le filtre de fichier défini par l’utilisateur la prochaine fois que la boîte de dialogue est créée. Si le membre nFilterIndex est égal à zéro, la boîte de dialogue utilise le filtre personnalisé.

Si ce membre est NULL, la boîte de dialogue ne conserve pas les modèles de filtre définis par l’utilisateur.

Si ce membre n’est pas NULL, la valeur du membre nMaxCustFilter doit spécifier la taille, en caractères, de la mémoire tampon lpstrCustomFilter.

nMaxCustFilter

Type : DWORD

Taille, en caractères, de la mémoire tampon identifiée par lpstrCustomFilter. Cette mémoire tampon doit comporter au moins 40 caractères. Ce membre est ignoré si lpstrCustomFilter est NULL ou pointe vers une chaîne de NULL .

nFilterIndex

Type : DWORD

Index du filtre actuellement sélectionné dans le contrôle Types de fichiers. La mémoire tampon pointée par lpstrFilter contient des paires de chaînes qui définissent les filtres. La première paire de chaînes a une valeur d’index de 1, la deuxième paire 2, et ainsi de suite. Un index de zéro indique le filtre personnalisé spécifié par lpstrCustomFilter. Vous pouvez spécifier un index sur l’entrée pour indiquer la description initiale du filtre et le modèle de filtre pour la boîte de dialogue. Lorsque l’utilisateur sélectionne un fichier, nFilterIndex retourne l’index du filtre actuellement affiché. Si nFilterIndex est égal à zéro et lpstrCustomFilter est NULL, le système utilise le premier filtre dans la mémoire tampon lpstrFilter . Si les trois membres sont zéro ou NULL, le système n’utilise aucun filtre et n’affiche aucun fichier dans le contrôle de liste de fichiers de la boîte de dialogue.

lpstrFile

Type : LPTSTR

Nom de fichier utilisé pour initialiser le nom de fichier contrôle d’édition. Le premier caractère de cette mémoire tampon doit être NULL si l’initialisation n’est pas nécessaire. Lorsque la fonction GetOpenFileName ou GetSaveFileName retourne correctement, cette mémoire tampon contient l’indicateur de lecteur, le chemin, le nom de fichier et l’extension du fichier sélectionné.

Si l’indicateur OFN_ALLOWMULTISELECT est défini et que l’utilisateur sélectionne plusieurs fichiers, la mémoire tampon contient le répertoire actif suivi des noms de fichiers des fichiers sélectionnés. Pour les boîtes de dialogue de style Explorateur, les chaînes de répertoire et de nom de fichier sont null séparées, avec un caractère NULL supplémentaire après le nom du dernier fichier. Pour les boîtes de dialogue de style ancien, les chaînes sont séparées par des espaces et la fonction utilise des noms de fichiers courts pour les noms de fichiers avec des espaces. Vous pouvez utiliser la fonction FindFirstFile pour effectuer une conversion entre les noms de fichiers longs et courts. Si l’utilisateur sélectionne un seul fichier, la chaîne lpstrFile n’a pas de séparateur entre le chemin d’accès et le nom de fichier.

Si la mémoire tampon est trop petite, la fonction retourne faux et la fonction CommDlgExtendedError retourne FNERR_BUFFERTOOSMALL. Dans ce cas, les deux premiers octets de la mémoire tampon lpstrFile contiennent la taille requise, en octets ou en caractères.

nMaxFile

Type : DWORD

Taille, en caractères, de la mémoire tampon pointée par lpstrFile. La mémoire tampon doit être suffisamment grande pour stocker le chemin d’accès et la chaîne ou les chaînes de nom de fichier, y compris la fin caractère NULL. Les fonctions GetOpenFileName et GetSaveFileName retournent FALSE si la mémoire tampon est trop petite pour contenir les informations de fichier. La mémoire tampon doit comporter au moins 256 caractères.

lpstrFileTitle

Type : LPTSTR

Nom et extension de fichier (sans informations de chemin d’accès) du fichier sélectionné. Ce membre peut être NULL.

nMaxFileTitle

Type : DWORD

Taille, en caractères, de la mémoire tampon pointée par lpstrFileTitle. Ce membre est ignoré si lpstrFileTitle est NULL.

lpstrInitialDir

Type : LPCTSTR

Répertoire initial. L’algorithme permettant de sélectionner le répertoire initial varie sur différentes plateformes.

Windows 7 :

  1. Si lpstrInitialDir a la même valeur que la première fois que l’application a utilisé un Ouvrir ou boîte de dialogue Enregistrer sous, le chemin d’accès le plus récemment sélectionné par l’utilisateur est utilisé comme répertoire initial.
  2. Sinon, si lpstrFile contient un chemin d’accès, ce chemin est le répertoire initial.
  3. Sinon, si lpstrInitialDir n’est pas NULL, il spécifie le répertoire initial.
  4. Si lpstrInitialDir est NULL et que le répertoire actif contient tous les fichiers des types de filtres spécifiés, le répertoire initial est le répertoire actif.
  5. Sinon, le répertoire initial est le répertoire des fichiers personnels de l’utilisateur actuel.
  6. Sinon, le répertoire initial est le dossier Desktop.
Windows 2000/XP/Vista :
  1. Si lpstrFile contient un chemin d’accès, ce chemin est le répertoire initial.
  2. Sinon, lpstrInitialDir spécifie le répertoire initial.
  3. Sinon, si l’application a utilisé un Ouvrir ou boîte de dialogue Enregistrer sous dans le passé, le chemin d’accès le plus récemment utilisé est sélectionné comme répertoire initial. Toutefois, si une application n’est pas exécutée pendant une longue période, son chemin sélectionné enregistré est ignoré.
  4. Si lpstrInitialDir est NULL et que le répertoire actif contient tous les fichiers des types de filtres spécifiés, le répertoire initial est le répertoire actif.
  5. Sinon, le répertoire initial est le répertoire des fichiers personnels de l’utilisateur actuel.
  6. Sinon, le répertoire initial est le dossier Desktop.

lpstrTitle

Type : LPCTSTR

Chaîne à placer dans la barre de titre de la boîte de dialogue. Si ce membre est NULL, le système utilise le titre par défaut (autrement dit, Enregistrer sous ou Ouvrir).

Flags

Type : DWORD

Ensemble d’indicateurs de bits que vous pouvez utiliser pour initialiser la boîte de dialogue. Lorsque la boîte de dialogue est retournée, elle définit ces indicateurs pour indiquer l’entrée de l’utilisateur. Ce membre peut être une combinaison des indicateurs suivants.

Valeur Signification
OFN_ALLOWMULTISELECT
0x00000200
La zone de liste nom de fichier autorise plusieurs sélections. Si vous définissez également l’indicateur OFN_EXPLORER, la boîte de dialogue utilise l’interface utilisateur de style Explorateur ; sinon, il utilise l’ancienne interface utilisateur de style.

Si l’utilisateur sélectionne plusieurs fichiers, la mémoire tampon lpstrFile retourne le chemin d’accès au répertoire actif suivi des noms de fichiers des fichiers sélectionnés. Le membre nFileOffset correspond au décalage, en octets ou en caractères, au premier nom de fichier, et le membre nFileExtension n’est pas utilisé. Pour les boîtes de dialogue de style Explorateur, les chaînes de répertoire et de nom de fichier sont null séparées, avec un caractère NULL supplémentaire après le nom du dernier fichier. Ce format permet aux boîtes de dialogue de style Explorateur de retourner des noms de fichiers longs qui incluent des espaces. Pour les boîtes de dialogue de style ancien, les chaînes de répertoire et de nom de fichier sont séparées par des espaces et la fonction utilise des noms de fichiers courts pour les noms de fichiers avec des espaces. Vous pouvez utiliser la fonction FindFirstFile pour effectuer une conversion entre les noms de fichiers longs et courts.

Si vous spécifiez un modèle personnalisé pour une boîte de dialogue de style ancien, la définition de la zone de liste nom de fichier doit contenir la valeur LBS_EXTENDEDSEL.

OFN_CREATEPROMPT
0x00002000
Si l’utilisateur spécifie un fichier qui n’existe pas, cet indicateur provoque l’invite de la boîte de dialogue à demander à l’utilisateur l’autorisation de créer le fichier. Si l’utilisateur choisit de créer le fichier, la boîte de dialogue se ferme et la fonction retourne le nom spécifié ; sinon, la boîte de dialogue reste ouverte. Si vous utilisez cet indicateur avec l’indicateur OFN_ALLOWMULTISELECT, la boîte de dialogue permet à l’utilisateur de spécifier un seul fichier inexistant.
OFN_DONTADDTORECENT
0x02000000
Empêche le système d’ajouter un lien au fichier sélectionné dans le répertoire du système de fichiers qui contient les documents les plus récemment utilisés par l’utilisateur. Pour récupérer l’emplacement de ce répertoire, appelez la fonction SHGetSpecialFolderLocation avec l’indicateur CSIDL_RECENT.
OFN_ENABLEHOOK
0x00000020
Active la fonction de hook spécifiée dans le membre lpfnHook.
OFN_ENABLEINCLUDENOTIFY
0x00400000
Provoque l’envoi de messages de notification CDN_INCLUDEITEM à votre procédure de raccordement OFNHookProc lorsque l’utilisateur ouvre un dossier. La boîte de dialogue envoie une notification pour chaque élément dans le dossier nouvellement ouvert. Ces messages vous permettent de contrôler les éléments affichés dans la liste des éléments du dossier.
OFN_ENABLESIZING
0x00800000
Active la boîte de dialogue de style Explorateur à redimensionner à l’aide de la souris ou du clavier. Par défaut, les boîtes de dialogue Ouvrir et Enregistrer sous boîtes de dialogue permettent de redimensionner la boîte de dialogue, que cet indicateur soit défini ou non. Cet indicateur est nécessaire uniquement si vous fournissez une procédure de hook ou un modèle personnalisé. La boîte de dialogue de style ancien n’autorise pas le redimensionnement.
OFN_ENABLETEMPLATE
0x00000040
Le membre lpTemplateName est un pointeur vers le nom d’une ressource de modèle de boîte de dialogue dans le module identifié par le membre hInstance. Si l’indicateur OFN_EXPLORER est défini, le système utilise le modèle spécifié pour créer une boîte de dialogue enfant de la boîte de dialogue de style Explorateur par défaut. Si l’indicateur OFN_EXPLORER n’est pas défini, le système utilise le modèle pour créer une boîte de dialogue de style ancien qui remplace la boîte de dialogue par défaut.
OFN_ENABLETEMPLATEHANDLE
0x00000080
Le membre hInstance identifie un bloc de données qui contient un modèle de boîte de dialogue préchargé. Le système ignore lpTemplateName si cet indicateur est spécifié. Si l’indicateur OFN_EXPLORER est défini, le système utilise le modèle spécifié pour créer une boîte de dialogue enfant de la boîte de dialogue de style Explorateur par défaut. Si l’indicateur OFN_EXPLORER n’est pas défini, le système utilise le modèle pour créer une boîte de dialogue de style ancien qui remplace la boîte de dialogue par défaut.
OFN_EXPLORER
0x00080000
Indique que les personnalisations apportées à l'Ouvrir ou boîte de dialogue Enregistrer sous utilisent les méthodes de personnalisation du style Explorateur. Pour plus d’informations, consultez Explorer-Style procédures de hook et Explorer-Style modèles personnalisés.

Par défaut, les boîtes de dialogue Ouvrir et Enregistrer sous utilisent l’interface utilisateur de style Explorateur, que cet indicateur soit défini. Cet indicateur est nécessaire uniquement si vous fournissez une procédure de hook ou un modèle personnalisé, ou si vous définissez l’indicateur de OFN_ALLOWMULTISELECT.

Si vous souhaitez utiliser l’interface utilisateur de style ancien, omettez l’indicateur de OFN_EXPLORER et fournissez un modèle ou une procédure de hook de remplacement de type ancien. Si vous voulez l’ancien style, mais n’avez pas besoin d’un modèle personnalisé ou d’une procédure de hook, fournissez simplement une procédure de hook qui retourne toujours FAUX.

OFN_EXTENSIONDIFFERENT
0x00000400
L’utilisateur a tapé une extension de nom de fichier qui diffère de l’extension spécifiée par lpstrDefExt. La fonction n’utilise pas cet indicateur si lpstrDefExt est NULL.
OFN_FILEMUSTEXIST
0x00001000
L’utilisateur ne peut taper que des noms de fichiers existants dans le champ d’entrée nom de fichier . Si cet indicateur est spécifié et que l’utilisateur entre un nom non valide, la procédure de boîte de dialogue affiche un avertissement dans une boîte de message. Si cet indicateur est spécifié, l’indicateur OFN_PATHMUSTEXIST est également utilisé. Cet indicateur peut être utilisé dans une boîte de dialogue Ouvrir. Il ne peut pas être utilisé avec une boîte de dialogue Enregistrer sous .
OFN_FORCESHOWHIDDEN
0x10000000
Force l’affichage des fichiers système et masqués, en remplaçant ainsi le paramètre utilisateur pour afficher ou ne pas afficher les fichiers masqués. Toutefois, un fichier marqué à la fois système et masqué n’est pas affiché.
OFN_HIDEREADONLY
0x00000004
Masque la case à cocher lecture seule.
OFN_LONGNAMES
0x00200000
Pour les boîtes de dialogue de style ancien, cet indicateur entraîne l’utilisation de noms de fichiers longs. Si cet indicateur n’est pas spécifié ou si l’indicateur OFN_ALLOWMULTISELECT est également défini, les boîtes de dialogue de style ancien utilisent des noms de fichiers courts (format 8.3) pour les noms de fichiers avec des espaces. Les boîtes de dialogue de style Explorateur ignorent cet indicateur et affichent toujours des noms de fichiers longs.
OFN_NOCHANGEDIR
0x00000008
Restaure le répertoire actif sur sa valeur d’origine si l’utilisateur a modifié le répertoire lors de la recherche de fichiers.

Cet indicateur est inefficace pour GetOpenFileName.

OFN_NODEREFERENCELINKS
0x00100000
Dirige la boîte de dialogue pour renvoyer le chemin d’accès et le nom du fichier du raccourci sélectionné (. Fichier LNK). Si cette valeur n’est pas spécifiée, la boîte de dialogue retourne le chemin d’accès et le nom de fichier du fichier référencé par le raccourci.
OFN_NOLONGNAMES
0x00040000
Pour les boîtes de dialogue de style ancien, cet indicateur entraîne l’utilisation de noms de fichiers courts (format 8.3). Les boîtes de dialogue de style Explorateur ignorent cet indicateur et affichent toujours des noms de fichiers longs.
OFN_NONETWORKBUTTON
0x00020000
Masque et désactive le bouton Réseau.
OFN_NOREADONLYRETURN
0x00008000
Le fichier retourné n’a pas la case à cocher lecture seule activée et n’est pas dans un répertoire protégé en écriture.
OFN_NOTESTFILECREATE
0x00010000
Le fichier n’est pas créé avant la fermeture de la boîte de dialogue. Cet indicateur doit être spécifié si l’application enregistre le fichier sur un partage réseau create-nonmodify. Lorsqu’une application spécifie cet indicateur, la bibliothèque ne vérifie pas la protection en écriture, un disque complet, une porte de lecteur ouverte ou une protection réseau. Les applications utilisant cet indicateur doivent effectuer soigneusement des opérations de fichier, car un fichier ne peut pas être rouvert une fois fermé.
OFN_NOVALIDATE
0x00000100
Les boîtes de dialogue courantes autorisent les caractères non valides dans le nom de fichier retourné. En règle générale, l’application appelante utilise une procédure de hook qui vérifie le nom de fichier à l’aide du message FILEOKSTRING . Si la zone de texte du contrôle d’édition est vide ou ne contient que des espaces, les listes de fichiers et de répertoires sont mises à jour. Si la zone de texte du contrôle d’édition contient autre chose, nFileOffset et nFileExtension sont définies sur les valeurs générées en analysant le texte. Aucune extension par défaut n’est ajoutée au texte, ni le texte copié dans la mémoire tampon spécifiée par lpstrFileTitle. Si la valeur spécifiée par nFileOffset est inférieure à zéro, le nom de fichier n’est pas valide. Sinon, le nom du fichier est valide et nFileExtension et nFileOffset peuvent être utilisés comme si l’indicateur de OFN_NOVALIDATE n’avait pas été spécifié.
OFN_OVERWRITEPROMPT
0x00000002
Provoque l'boîte de dialogue Enregistrer sous pour générer une boîte de message si le fichier sélectionné existe déjà. L’utilisateur doit confirmer s’il faut remplacer le fichier.
OFN_PATHMUSTEXIST
0x00000800
L’utilisateur peut taper uniquement des chemins d’accès valides et des noms de fichiers. Si cet indicateur est utilisé et que l’utilisateur tape un chemin d’accès et un nom de fichier non valides dans le champ nom de fichier champ d’entrée, la fonction de boîte de dialogue affiche un avertissement dans une boîte de message.
OFN_READONLY
0x00000001
Provoque la sélection initiale de la case lecture seule lors de la création de la boîte de dialogue. Cet indicateur indique l’état de la case à cocher lecture seule lorsque la boîte de dialogue est fermée.
OFN_SHAREAWARE
0x00004000
Spécifie que si un appel à la fonction OpenFile échoue en raison d’une violation de partage réseau, l’erreur est ignorée et la boîte de dialogue retourne le nom du fichier sélectionné. Si cet indicateur n’est pas défini, la boîte de dialogue avertit votre procédure de hook lorsqu’une violation de partage réseau se produit pour le nom de fichier spécifié par l’utilisateur. Si vous définissez l’indicateur OFN_EXPLORER, la boîte de dialogue envoie le message CDN_SHAREVIOLATION à la procédure de raccordement. Si vous ne définissez pas OFN_EXPLORER, la boîte de dialogue envoie le message inscrit SHAREVISTRING à la procédure de raccordement.
OFN_SHOWHELP
0x00000010
Provoque l’affichage de la boîte de dialogue bouton Aide. Le membre hwndOwner doit spécifier la fenêtre pour recevoir les messages inscrits HELPMSGSTRING que la boîte de dialogue envoie lorsque l’utilisateur clique sur le bouton Aide. Une boîte de dialogue de style Explorateur envoie un message de notification CDN_HELP à votre procédure de raccordement lorsque l’utilisateur clique sur le bouton Aide.

nFileOffset

Type : WORD

Décalage de base zéro, en caractères, du début du chemin d’accès au nom de fichier dans la chaîne pointée par lpstrFile. Pour la version ANSI, il s’agit du nombre d’octets ; pour la version Unicode, il s’agit du nombre de caractères. Par exemple, si lpstrFile pointe vers la chaîne suivante, « c :\dir1\dir2\file.ext », ce membre contient la valeur 13 pour indiquer le décalage de la chaîne « file.ext ». Si l’utilisateur sélectionne plusieurs fichiers, nFileOffset correspond au décalage du premier nom de fichier.

nFileExtension

Type : WORD

Décalage de base zéro, en caractères, du début du chemin d’accès à l’extension de nom de fichier dans la chaîne pointée par lpstrFile. Pour la version ANSI, il s’agit du nombre d’octets ; pour la version Unicode, il s’agit du nombre de caractères. En règle générale, l’extension de nom de fichier est la sous-chaîne qui suit la dernière occurrence du caractère point ( » . ») . Par exemple, txt est l’extension du nom de fichier readme.txt, html l’extension de readme.txt.html. Par conséquent, si lpstrFile pointe vers la chaîne « c :\dir1\dir2\readme.txt», ce membre contient la valeur 20. Si lpstrFile pointe vers la chaîne « c :\dir1\dir2\readme.txt.html », ce membre contient la valeur 24. Si lpstrFile pointe vers la chaîne « c :\dir1\dir2\readme.txt.html ». Ce membre contient la valeur 29. Si lpstrFile pointe vers une chaîne qui ne contient aucun caractère « ». Comme « c :\dir1\dir2\readme », ce membre contient zéro.

lpstrDefExt

Type : LPCTSTR

Extension par défaut. GetOpenFileName et GetSaveFileName ajouter cette extension au nom de fichier si l’utilisateur ne parvient pas à taper une extension. Cette chaîne peut être n’importe quelle longueur, mais seules les trois premières caractères sont ajoutées. La chaîne ne doit pas contenir de point (.). Si ce membre est NULL et que l’utilisateur ne parvient pas à taper une extension, aucune extension n’est ajoutée.

lCustData

Type : LPARAM

Données définies par l’application que le système transmet à la procédure de raccordement identifiée par le membre lpfnH ook. Lorsque le système envoie le message WM_INITDIALOG à la procédure de raccordement, le paramètre lParam du message est un pointeur vers la structure OPENFILENAME spécifiée lors de la création de la boîte de dialogue. La procédure de raccordement peut utiliser ce pointeur pour obtenir la valeur lCustData.

lpfnHook

Type : LPOFNHOOKPROC

Pointeur vers une procédure de raccordement. Ce membre est ignoré, sauf si les indicateurs de membre incluent l’indicateur de OFN_ENABLEHOOK.

Si l’indicateur de OFN_EXPLORER n’est pas défini dans le membre Flags, lpfnHook est un pointeur vers une procédure OFNHookProcOldStyle hook qui reçoit les messages destinés à la boîte de dialogue. La procédure de raccordement retourne FAUX pour passer un message à la procédure de boîte de dialogue par défaut ou TRUE pour ignorer le message.

Si OFN_EXPLORER est défini, lpfnHook est un pointeur vers une procédure de raccordement OFNHookProc. La procédure de raccordement reçoit les messages de notification envoyés à partir de la boîte de dialogue. La procédure de raccordement reçoit également des messages pour tous les contrôles supplémentaires que vous avez définis en spécifiant un modèle de boîte de dialogue enfant. La procédure de raccordement ne reçoit pas de messages destinés aux contrôles standard de la boîte de dialogue par défaut.

lpTemplateName

Type : LPCTSTR

Nom de la ressource de modèle de boîte de dialogue dans le module identifié par le membre hInstance. Pour les ressources de boîte de dialogue numérotées, il peut s’agir d’une valeur retournée par la macro MAKEINTRESOURCE. Ce membre est ignoré, sauf si l’indicateur de OFN_ENABLETEMPLATE est défini dans le membre des indicateurs de . Si l’indicateur OFN_EXPLORER est défini, le système utilise le modèle spécifié pour créer une boîte de dialogue enfant de la boîte de dialogue de style Explorateur par défaut. Si l’indicateur OFN_EXPLORER n’est pas défini, le système utilise le modèle pour créer une boîte de dialogue de style ancien qui remplace la boîte de dialogue par défaut.

lpEditInfo

Ce membre est compilé de manière conditionnelle (à l’aide de #ifdef _MAC) afin qu’il s’applique uniquement aux ordinateurs Macintosh de Motorola 68K, et non aux systèmes d’exploitation clients Windows.

lpstrPrompt

Ce membre est compilé de manière conditionnelle (à l’aide de #ifdef _MAC) afin qu’il s’applique uniquement aux ordinateurs Macintosh de Motorola 68K, et non aux systèmes d’exploitation clients Windows.

pvReserved

Type : void*

Ce membre est réservé.

dwReserved

Type : DWORD

Ce membre est réservé.

FlagsEx

Type : DWORD

Ensemble d’indicateurs de bits que vous pouvez utiliser pour initialiser la boîte de dialogue. Actuellement, ce membre peut être égal à zéro ou à l’indicateur suivant.

Valeur Signification
OFN_EX_NOPLACESBAR
0x00000001
Si cet indicateur est défini, la barre des emplacements n’est pas affichée. Si cet indicateur n’est pas défini, les boîtes de dialogue de style Explorateur incluent une barre d’emplacements contenant des icônes pour les dossiers couramment utilisés, tels que Favoris et Bureau.

Remarques

Pour des raisons de compatibilité, la barre Places est masquée si indicateurs est défini sur OFN_ENABLEHOOK et lStructSize est OPENFILENAME_SIZE_VERSION_400.

Note

L’en-tête commdlg.h définit OPENFILENAME comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
d’en-tête commdlg.h (include Windows.h)

Voir aussi

bibliothèque de boîtes de dialogue courante

conceptuelle

GetOpenFileName

GetSaveFileName

autres ressources

de référence

SHGetSpecialFolderLocation