Structure OPENFILENAMEA (commdlg.h)
[À compter de Windows Vista, les boîtes de dialogue Ouvrir et Enregistrer en tant que communes ont été remplacées par la boîte de dialogue Élément commun. Nous vous recommandons d’utiliser l’API Common Item Dialog 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 une boîte de dialogue Ouvrir ou 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 tagOFNA {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCSTR lpstrFilter;
LPSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPSTR lpstrFile;
DWORD nMaxFile;
LPSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCSTR lpstrInitialDir;
LPCSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCSTR lpstrDefExt;
LPARAM lCustData;
LPOFNHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
LPEDITMENU lpEditInfo;
LPCSTR lpstrPrompt;
void *pvReserved;
DWORD dwReserved;
DWORD FlagsEx;
} OPENFILENAMEA, *LPOPENFILENAMEA;
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 qui possède la boîte de dialogue. Ce membre peut être n’importe quel handle de fenêtre valide, ou il peut avoir la valeur NULL si la boîte de dialogue n’a pas de propriétaire.
hInstance
Type : HINSTANCE
Si l’indicateur OFN_ENABLETEMPLATEHANDLE est défini dans le membre Flags , hInstance est un handle d’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 d’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 Explorer 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 terminé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 a la valeur 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èrent le nom du fichier .lnk, et non sa cible. Ce comportement est identique à la définition de l’indicateur OFN_NODEREFERENCELINKS dans le membre Flags . 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 tapé par l’utilisateur. Le système utilise les chaînes pour initialiser le filtre de fichier défini par l’utilisateur lors de la prochaine création de la boîte de dialogue. Si le membre nFilterIndex est égal à zéro, la boîte de dialogue utilise le filtre personnalisé.
Si ce membre a la valeur NULL, la boîte de dialogue ne conserve pas les modèles de filtre définis par l’utilisateur.
Si ce membre n’a pas la valeur 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 a la valeur NULL ou pointe vers une chaîne NULL .
nFilterIndex
Type : DWORD
Index du filtre actuellement sélectionné dans le contrôle Types de fichiers. La mémoire tampon pointée vers 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 que lpstrCustomFilter a la valeur 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 contrôle d’édition nom de fichier. 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 d’accès, 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 sélectionnés. Pour les boîtes de dialogue de style Explorer, les chaînes de répertoire et de nom de fichier sont séparées par null, 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 de l’espace et la fonction utilise des noms de fichiers courts pour les noms de fichiers avec des espaces. Vous pouvez utiliser la fonction FindFirstFile pour convertir des 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 du fichier.
Si la mémoire tampon est trop petite, la fonction retourne FALSE 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 vers lpstrFile. La mémoire tampon doit être suffisamment grande pour stocker la ou les chaînes de chemin d’accès et de nom de fichier, y compris le caractère NULL de fin. 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 du fichier (sans informations de chemin d’accès) du fichier sélectionné. Ce membre peut avoir la valeur NULL.
nMaxFileTitle
Type : DWORD
Taille, en caractères, de la mémoire tampon pointée vers lpstrFileTitle. Ce membre est ignoré si lpstrFileTitle a la valeur NULL.
lpstrInitialDir
Type : LPCTSTR
Répertoire initial. L’algorithme de sélection du répertoire initial varie selon les plateformes.
Windows 7 :
- Si lpstrInitialDir a la même valeur que la première fois que l’application a utilisé une boîte de dialogue Ouvrir ou Enregistrer sous , le chemin d’accès le plus récemment sélectionné par l’utilisateur est utilisé comme répertoire initial.
- Sinon, si lpstrFile contient un chemin d’accès, ce chemin est le répertoire initial.
- Sinon, si lpstrInitialDir n’a pas la valeur NULL, il spécifie le répertoire initial.
- Si lpstrInitialDir a la valeur NULL et que le répertoire actif contient des fichiers des types de filtre spécifiés, le répertoire initial est le répertoire actif.
- Sinon, le répertoire initial est le répertoire de fichiers personnels de l’utilisateur actuel.
- Sinon, le répertoire initial est le dossier Desktop.
- Si lpstrFile contient un chemin d’accès, ce chemin est le répertoire initial.
- Sinon, lpstrInitialDir spécifie le répertoire initial.
- Sinon, si l’application a utilisé une boîte de dialogue Ouvrir ou 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 d’accès sélectionné enregistré est ignoré.
- Si lpstrInitialDir a la valeur NULL et que le répertoire actif contient des fichiers des types de filtre spécifiés, le répertoire initial est le répertoire actif.
- Sinon, le répertoire initial est le répertoire de fichiers personnels de l’utilisateur actuel.
- 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 a la valeur NULL, le système utilise le titre par défaut (c’est-à-dire 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 |
---|---|
|
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 Explorer ; sinon, elle utilise l’ancienne interface utilisateur.
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 est le décalage, en octets ou en caractères, du premier nom de fichier, et le membre nFileExtension n’est pas utilisé. Pour les boîtes de dialogue de style Explorer, les chaînes de répertoire et de nom de fichier sont séparées par la valeur NULL, avec un caractère NULL supplémentaire après le nom du dernier fichier. Ce format permet aux boîtes de dialogue de style Explorer 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 convertir 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 . |
|
Si l’utilisateur spécifie un fichier qui n’existe pas, cet indicateur amène 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. |
|
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 derniers documents utilisés par l’utilisateur. Pour récupérer l’emplacement de ce répertoire, appelez la fonction SHGetSpecialFolderLocation avec l’indicateur CSIDL_RECENT . |
|
Active la fonction de raccordement spécifiée dans le membre lpfnHook . |
|
La boîte de dialogue envoie CDN_INCLUDEITEM messages de notification à votre procédure de hook OFNHookProc lorsque l’utilisateur ouvre un dossier. La boîte de dialogue envoie une notification pour chaque élément du dossier nouvellement ouvert. Ces messages vous permettent de contrôler les éléments que la boîte de dialogue affiche dans la liste des éléments du dossier. |
|
Permet de redimensionner la boîte de dialogue de style Explorer à l’aide de la souris ou du clavier. Par défaut, les boîtes de dialogue Ouvrir et Enregistrer sous de style Explorer 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 raccordement ou un modèle personnalisé. La boîte de dialogue de style ancien n’autorise pas le redimensionnement. |
|
Le membre lpTemplateName est un pointeur vers le nom d’une ressource de modèle 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 Explorer 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. |
|
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 Explorer 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. |
|
Indique que toutes les personnalisations apportées à la boîte de dialogue Ouvrir ou Enregistrer sous utilisent les méthodes de personnalisation de style Explorer. Pour plus d’informations, consultez Procédures de raccordement de style Explorer et Modèles personnalisés de style Explorer.
Par défaut, les boîtes de dialogue Ouvrir et Enregistrer sous utilisent l’interface utilisateur de style Explorer, que cet indicateur soit défini ou non. Cet indicateur est nécessaire uniquement si vous fournissez une procédure de raccordement ou un modèle personnalisé, ou si vous définissez l’indicateur OFN_ALLOWMULTISELECT . Si vous souhaitez utiliser l’ancienne interface utilisateur, omettez l’indicateur de OFN_EXPLORER et fournissez un modèle ou une procédure de hook de remplacement. Si vous souhaitez utiliser l’ancien style, mais que vous n’avez pas besoin d’un modèle ou d’une procédure de hook personnalisée, fournissez simplement une procédure de hook qui retourne toujours FALSE. |
|
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 a la valeur NULL. |
|
L’utilisateur peut taper uniquement les noms des 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 . |
|
Force l’affichage des fichiers système et masqués, remplaçant ainsi le paramètre utilisateur pour afficher ou non les fichiers masqués. Toutefois, un fichier marqué à la fois système et masqué n’est pas affiché. |
|
Masque la zone lecture seule case activée. |
|
Pour les boîtes de dialogue de style ancien, cet indicateur entraîne l’utilisation de noms de fichiers longs dans la boîte de dialogue. 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. Explorer boîtes de dialogue de style ignorent cet indicateur et affichent toujours des noms de fichiers longs. |
|
Restaure le répertoire actif à sa valeur d’origine si l’utilisateur a modifié le répertoire lors de la recherche de fichiers.
Cet indicateur est inefficace pour GetOpenFileName. |
|
Indique à la boîte de dialogue de retourner le chemin d’accès et le nom de fichier du raccourci sélectionné (. 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. |
|
Pour les boîtes de dialogue de style ancien, cet indicateur oblige la boîte de dialogue à utiliser des noms de fichiers courts (format 8.3). Explorer boîtes de dialogue de style ignorent cet indicateur et affichent toujours des noms de fichiers longs. |
|
Masque et désactive le bouton Réseau . |
|
La zone Lecture seule case activée du fichier retourné n’est pas sélectionnée et ne se trouve pas dans un répertoire protégé en écriture. |
|
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 case activée pas pour la protection en écriture, un disque complet, une porte de lecteur ouverte ou une protection réseau. Les applications utilisant cet indicateur doivent effectuer des opérations de fichier avec soin, car un fichier ne peut pas être rouvert une fois fermé. |
|
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 du 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éfinis sur les valeurs générées par l’analyse du texte. Aucune extension par défaut n’est ajoutée au texte, ni le texte n’est 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 de fichier est valide et nFileExtension et nFileOffset peuvent être utilisés comme si l’indicateur OFN_NOVALIDATE n’avait pas été spécifié. |
|
La boîte de dialogue Enregistrer sous génère une boîte de message si le fichier sélectionné existe déjà. L’utilisateur doit confirmer s’il faut remplacer le fichier. |
|
L’utilisateur peut taper uniquement des chemins d’accès et des noms de fichiers valides. 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 d’entrée Nom de fichier, la fonction de boîte de dialogue affiche un avertissement dans une boîte de message. |
|
Entraîne la sélection initiale de la zone Lecture seule case activée lors de la création de la boîte de dialogue. Cet indicateur indique l’état de la zone Lecture seule case activée lorsque la boîte de dialogue est fermée. |
|
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 de 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 hook. Si vous ne définissez pas OFN_EXPLORER, la boîte de dialogue envoie le message inscrit SHAREVISTRING à la procédure de hook. |
|
Entraîne l’affichage du bouton Aide dans la boîte de dialogue. 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 Explorer envoie un message de notification CDN_HELP à votre procédure de hook 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 est le décalage vers le nom du premier 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 « ». tel que « c:\dir1\dir1\dir2\readme », ce membre contient zéro.
lpstrDefExt
Type : LPCTSTR
Extension par défaut. GetOpenFileName et GetSaveFileName ajoutent 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 seuls les trois premiers caractères sont ajoutés. La chaîne ne doit pas contenir de point (.). Si ce membre a la valeur 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 hook identifiée par le membre lpfnHook . Lorsque le système envoie le message WM_INITDIALOG à la procédure de hook, 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 hook peut utiliser ce pointeur pour obtenir la valeur lCustData .
lpfnHook
Type : LPOFNHOOKPROC
Pointeur vers une procédure de hook. Ce membre est ignoré, sauf si le membre Indicateurs inclut l’indicateur OFN_ENABLEHOOK .
Si l’indicateur OFN_EXPLORER n’est pas défini dans le membre Flags , lpfnHook est un pointeur vers une procédure de hook OFNHookProcOldStyle qui reçoit les messages destinés à la boîte de dialogue. La procédure de crochet retourne FALSE 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 crochet OFNHookProc . La procédure de hook reçoit les messages de notification envoyés à partir de la boîte de dialogue. La procédure de hook 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 hook 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 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 OFN_ENABLETEMPLATE est défini dans le membre Indicateurs . 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 Explorer 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 ne s’applique qu’aux ordinateurs Macintosh 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 ne s’applique qu’aux ordinateurs Macintosh 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.
Notes
Pour des raisons de compatibilité, la barre des emplacements est masquée si Flags a la valeur OFN_ENABLEHOOK et si lStructSize est OPENFILENAME_SIZE_VERSION_400.
Notes
L’en-tête commdlg.h définit OPENFILENAME comme un 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.
Spécifications
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | commdlg.h (inclure Windows.h) |
Voir aussi
Bibliothèque de boîtes de dialogue commune
Conceptuel
Autres ressources
Référence