UDF > StructureConstants >


$tagOPENFILENAME

Contient des informations que les fonctions GetOpenFileName et GetSaveFileName utilisent pour initialiser une boîte de dialogue Ouvrir ou Enregistrer Sous

Global Const $tagOPENFILENAME = "dword StructSize;hwnd hwndOwner;hwnd hInstance;ptr lpstrFilter;ptr lpstrCustomFilter;" & _
    "dword nMaxCustFilter;dword nFilterIndex;ptr lpstrFile;dword nMaxFile;ptr lpstrFileTitle;int nMaxFileTitle;" & _
    "ptr lpstrInitialDir;ptr lpstrTitle;dword Flags;short nFileOffset;short nFileExtension;ptr lpstrDefExt;ptr lCustData;" & _
    "ptr lpfnHook;ptr lpTemplateName;ptr pvReserved;dword dwReserved;dword FlagsEx"

Champs

StructSize Indique la longueur, en octets, de la structure.
hwndOwner Handle de la fenêtre qui est propriétaire de la boîte de dialogue. Ce membre peut être l'un des handles de fenêtre valide, ou il peut être NULL si la boîte de dialogue n'a pas de propriétaire.
hInstance Si le flag $OFN_ENABLETEMPLATEHANDLE est défini dans le membre Flags, hInstance est le handle d'un objet mémoire contenant un modèle de boîte de dialogue.
Si le flag $OFN_ENABLETEMPLATE est positionné, hInstance est le handle d'un module qui contient un modèle de boîte de dialogue nommée par le membre lpTemplateName.
Si aucun flag n'est activé, ce membre est ignoré.
Si le flag $OFN_EXPLORER est positionné, le système utilise le modèle spécifié pour créer une boîte de dialogue qui est un enfant de la boîte de dialogue par défaut de style explorer.
Si le flag $OFN_EXPLORER n'est pas positionné, le système utilise le modèle pour créer une boîte de dialogue de l'ancien style qui remplace la boîte de dialogue par défaut.
lpstrFilter Pointeur vers un tampon contenant des paires de chaînes de filtre terminées par NULL. La dernière chaîne dans la mémoire tampon doit être terminé par deux caractères NULL.
lpstrCustomFilter Pointeur sur un tampon statique qui contient une paire de chaînes de filtre terminées par NULL pour préserver le modèle de filtrage 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 non vide.
Lorsque l'utilisateur sélectionne un fichier, la boîte de dialogue copie le modèle actuel du filtre dans la deuxième chaîne.
Le modèle de filtre conservé peut être l'un des modèles spécifiés dans le tampon lpstrFilter, ou il peut être un modèle de filtre tapé par l'utilisateur.
Le système utilise les chaînes pour initialiser le filtre de fichiers défini par l'utilisateur la prochaine fois que la boîte de dialogue est créée.
Si le membre nFilterIndex est zéro, la boîte de dialogue utilise le filtre personnalisé.
Si ce membre est NULL, la boîte de dialogue ne préserve pas les modèles de filtres définis par l'utilisateur.
Si ce membre n'est pas NULL, la valeur de lu membre nMaxCustFilter doit préciser la taille, en TCHARs, de la mémoire tampon lpstrCustomFilter.
Pour la version ANSI, c'est le nombre d'octets; pour la version Unicode, c'est le nombre de caractères.
nMaxCustFilter Indique la taille, en TCHARs, de la mémoire tampon identifié par lpstrCustomFilter.
Pour la version ANSI, c'est le nombre d'octets; pour la version Unicode , c'est le nombre de caractères.
Ce tampon doit être d'au moins 40 caractères. Ce membre est ignoré si lpstrCustomFilter est NULL ou pointe sur une chaîne NULL.
nFilterIndex Spécifie l'index du filtre actuellement sélectionné dans le contrôle des types de fichiers.
Le tampon pointé par lpstrFilter contient des paires de chaînes qui définissent les filtres.
La première paire de chaînes de caractères a une valeur d'index de 1, la deuxième paire, 2, et ainsi de suite.
Un index de zéro indique un filtre personnalisé spécifié par lpstrCustomFilter.
Vous pouvez spécifier un index en entrée pour indiquer la description du filtre initial et le modèle de filtre de la boîte de dialogue.
Lorsque l'utilisateur sélectionne un fichier, nFilterIndex retourne l'index du filtre actuellement affiché.
Si nFilterIndex est zéro et lpstrCustomFilter est NULL, le système utilise le premier filtre dans le tampon lpstrFilter.
Si les trois membres sont zéro ou NULL, le système n'utilise pas de filtres et ne montre pas de fichiers dans le contrôle de la liste de fichiers de la boîte de dialogue.
lpstrFile Pointeur vers un tampon qui contient un nom de fichier utilisé pour initialiser le nom du fichier d'un contrôle d'édition.
Le premier caractère de ce tampon doit être NULL si l'initialisation n'est pas nécessaire.
Lorsque les fonctions _WinAPI_GetOpenFileName ou _WinAPI_GetSaveFileName retournent avec succès, ce tampon contient l'indicateur de lecteur, le chemin, le nom du fichier, et l'extension du fichier sélectionné.
Si le drapeau $OFN_ALLOWMULTISELECT est positionné et l'utilisateur sélectionne plusieurs fichiers, la mémoire tampon contient le répertoire courant, suivi par les noms de fichier des fichiers sélectionnés.
Pour les boîtes de dialogue de style Explorer, les chaînes des noms de répertoires et de fichiers sont séparés par NULL, avec un caractère supplémentaire NULL après le dernier nom de fichier.
Pour les boîtes de dialogue de style ancien, les chaînes sont séparées par des espaces et la fonction utilise les noms de fichiers courts pour les noms de fichiers avec des espaces.
Vous pouvez utiliser la fonction FindFirstFile pour convertir 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 et le nom du fichier.
Si le tampon est trop petit, la fonction retourne False et la fonction _WinAPI_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 Indique la taille, en TCHARs, du tampon pointé par lpstrFile.
Pour la version ANSI, c'est le nombre d'octets; pour la version Unicode, c'est le nombre de caractères.
Le tampon doit être suffisamment grand pour stocker la chaîne ou les chaînes des chemins et des noms de fichiers, y compris le caractère NULL final.
Les fonctions _WinAPI_GetOpenFileName et _WinAPI_GetSaveFileName retourne False si le tampon est trop petit pour contenir les informations de fichier.
Le tampon doit être d'au moins 256 caractères.
lpstrFileTitle Pointeur vers un tampon qui reçoit le nom de fichier et l'extension (sans information du chemin) du fichier sélectionné. Ce membre ne peut être NULL.
nMaxFileTitle Indique la taille, en TCHARs, du tampon pointé par lpstrFileTitle.
Pour la version ANSI, c'est le nombre d'octets; pour la version Unicode, c'est le nombre de caractères. Ce membre est ignoré si lpstrFileTitle est NULL.
lpstrInitialDir Pointeur vers une chaîne terminée par NULL qui peut spécifier le répertoire initial.
lpstrTitle Pointeur sur une 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 (c'est-à-dire 'Enregistrer sous' ou 'Ouvrir').
Flags Un jeu de bits que vous pouvez utiliser pour initialiser la boîte de dialogue. Lorsque la boîte de dialogue retourne, elle définit ces flags pour indiquer l'entrée de l'utilisateur. Ce membre peut être une combinaison des options suivantes:
$OFN_ALLOWMULTISELECT - Indique que la boîte Fichier de liste de noms permet des sélections multiples.
Si vous définissez également le flag $OFN_EXPLORER, la boîte de dialogue utilise l'interface utilisateur de style Explorateur; sinon, elle utilise l'interface utilisateur de style ancien.
$OFN_CREATEPROMPT - Si l'utilisateur spécifie un fichier qui n'existe pas, ce flag autorise la boîte de dialogue à demander l'autorisation à l'utilisateur 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 ce flag avec le flag $OFN_ALLOWMULTISELECT, la boîte de dialogue permet à l'utilisateur de spécifier un seul fichier qui n'existe pas.
$OFN_DONTADDTORECENT - Empêche le système de l'ajout d'un lien vers le fichier sélectionné dans le répertoire du système de fichiers qui contient les documents les plus récemment utilisés de l'utilisateur.
$OFN_ENABLEHOOK - Active la fonction hook spécifié dans le membre lpfnHook.
$OFN_ENABLEINCLUDENOTIFY - Autorise la boîte de dialogue à envoyer des messages de notification de CDN_INCLUDEITEM à votre procédure hook 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 quels éléments de la boîte de dialogue s'affichent dans la liste des éléments du dossier.
$OFN_ENABLESIZING - Permet la boîte de dialogue de style Explorer d'être redimensionnée en utilisant la souris ou le clavier.
Par défaut, les boîtes de dialogue de style explorer 'Ouvrir' et 'Enregistrer Sous' permettent à la boîte de dialogue d'être redimensionnée indépendamment du fait que le flag est activé.
Ce flag n'est nécessaire que si vous fournissez une procédure de hook ou un modèle personnalisé. Une boîte de dialogue de style ancien ne permet pas le redimensionnement.
$OFN_ENABLETEMPLATE - Indique que le membre lpTemplateName est un pointeur sur le nom d'une ressource de modèle de dialogue dans le module identifié par le membre hInstance.
Si le flag $OFN_EXPLORER est activé, le système utilise le modèle spécifié pour créer une boîte de dialogue qui est un enfant de la boîte de dialogue par défaut de style explorer.
Si le flag $OFN_EXPLORER n'est pas activé, 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 - Indique que 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 ce flag est spécifié.
Si le flag $OFN_EXPLORER est activé, le système utilise le modèle spécifié pour créer une boîte de dialogue qui est un enfant de la boîte de dialogue par défaut de style explorer.
Si le flag $OFN_EXPLORER n'est pas activé, 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 - Indique que toutes les personnalisations apportées à la boîte de dialogue Ouvrir ou Enregistrer Sous utilisent les nouvelles méthodes de personnalisation de style explorer.
Par défaut, les boîtes de dialogue Ouvrir et Enregistrer Sous utilisent l'interface utilisateur de style explorer indépendamment du fait que ce flag est activé.
Ce flag n'est nécessaire que si vous fournissez une procédure de hook ou un modèle personnalisé, ou si le flag $OFN_ALLOWMULTISELECT est activé.
Si vous souhaitez une interface utilisateur de style ancien, omettez le flag $OFN_EXPLORER et fournissez un modèle de remplacement de style ancien ou une procédure hook.
Si vous voulez le style ancien mais n'avez pas besoin d'un modèle personnalisé ou d'une procédure de hook, il suffit de fournir une procédure de hook qui renvoie toujours False.
$OFN_EXTENSIONDIFFERENT - Indique que 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 ce flag si lpstrDefExt est NULL.
$OFN_FILEMUSTEXIST - Indique que l'utilisateur peut saisir que des noms de fichiers existants dans le champ de saisie Nom de fichier.
Si ce flag est spécifié et que l'utilisateur entre un nom invalide, la procédure de boîte de dialogue affiche un avertissement dans une boîte de message.
Si cette option est spécifiée, le flag $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 - Force l'affichage des fichiers systèmes et des fichiers cachés, remplaçant ainsi le réglage de l'utilisateur pour afficher ou non les fichiers cachés.
Toutefois, un fichier qui est marqué à la fois système et caché n'est pas affiché.
$OFN_HIDEREADONLY - Masque la case Lecture seule.
$OFN_LONGNAMES - ​​Pour les boîtes de dialogue de style ancien, ce flag autorise la boîte de dialogue à utiliser des noms de fichiers longs.
Si ce flag n'est pas spécifié, ou si le flag $OFN_ALLOWMULTISELECT est également activé, 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 Explorer ignorent ce flag et affichent toujours des noms de fichiers longs.
$OFN_NOCHANGEDIR - Restaure le répertoire courant à sa valeur initiale si l'utilisateur a modifié le répertoire lors de la recherche pour les fichiers.
Ce flag est inefficace pour GetOpenFileName.
$OFN_NODEREFERENCELINKS - Charge la boîte de dialogue pour retourner le chemin et le nom du fichier du raccourci sélectionné (.LNK).
Si cette valeur n'est pas spécifiée, la boîte de dialogue retourne le chemin et le nom du fichier référencé par le raccourci.
$OFN_NOLONGNAMES - ​​Pour les boîtes de dialogue de style ancien, ce flag autorise la boîte de dialogue à utiliser des noms de fichiers courts (format 8.3).
Les boîtes de dialogue de style Explorer ignorent ce flag et affichent toujours des noms de fichiers longs.
$OFN_NONETWORKBUTTON - Cache et désactive le bouton Réseau.
$OFN_NOREADONLYRETURN - Indique que le fichier retourné n'a pas la case Read Only sélectionnée et n'est pas dans un répertoire protégé en écriture.
$OFN_NOTESTFILECREATE - Indique que le fichier n'est pas créé avant que la boîte de dialogue soit fermée.
Ce flag doit être spécifié si l'application enregistre le fichier sur un partage réseau créé nonmodify.
Quand une application spécifie ce flag, la bibliothèque ne vérifie pas la protection en écriture, un disque plein, une porte ouverte de lecteur, ou la protection du réseau.
Les applications qui utilisent ce flag doivent effectuer avec soin les opérations de fichiers, car un fichier ne peut pas être ré-ouvert une fois fermé.
$OFN_NOVALIDATE - Indique que les boîtes de dialogue communes permettent des 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 en utilisant le message $FILEOKSTRING.
Si la zone de texte dans le champ de saisie est vide ou ne contient que des espaces, les listes de fichiers et répertoires sont mis à jour.
Si la zone de texte dans le champ de saisie contient rien d'autre, nFileOffset et nFileExtension sont réglés sur des valeurs générées par l'analyse du texte.
Pas d'extension par défaut est ajouté au texte, ni de texte copié dans le tampon spécifié par lpstrFileTitle.
Si la valeur spécifiée par nFileOffset est inférieur à zéro, le nom de fichier n'est pas valide.
Sinon, le nom de fichier est valide, et nFileExtension et nFileOffset peut être utilisé comme si le flag $OFN_NOVALIDATE n'avait pas été spécifié.
$OFN_OVERWRITEPROMPT - Force la boîte de dialogue Enregistrer Sous à générer une boîte de message si le fichier sélectionné existe déjà.
L'utilisateur doit confirmer s'il souhaite remplacer le fichier.
$OFN_PATHMUSTEXIST - Indique que l'utilisateur peut saisir que des chemins et des noms de fichiers valides.
Si ce flag est utilisé et l'utilisateur tape un chemin et un nom du fichier invalides dans le champ de saisie Nom de fichier, la fonction boîte de dialogue affiche un avertissement dans une boîte de message.
$OFN_READONLY - Force la case Read Only à être sélectionné au départ lorsque la boîte de dialogue est créée.
Ce flag indique l'état de la case à cocher Read Only lorsque la boîte de dialogue est fermée.
$OFN_SHAREAWARE - Indique que si un appel à la fonction OpenFile échoue en raison d'une violation de partage de réseau, l'erreur est ignorée et la boîte de dialogue retourne le nom du fichier sélectionné.
Si ce flag n'est pas activé, la boîte de dialogue signale à votre procédure hook quand un partage réseau violation se produit pour le nom de fichier spécifié par l'utilisateur.
Si vous activez le flag $OFN_EXPLORER, la boîte de dialogue envoie le message CDN_SHAREVIOLATION à la procédure hook.
Si vous ne définissez pas $OFN_EXPLORER, la boîte de dialogue envoie le message enregistré SHAREVISTRING à la procédure hook.
$OFN_SHOWHELP - Force la boîte de dialogue à afficher le bouton d'aide.
Le membre hwndOwner doit préciser la fenêtre qui va recevoir le message enregistré HELPMSGSTRING que la boîte de dialogue envoie lorsque l'utilisateur clique sur le bouton Aide.
Une boîte de dialogue de type Explorer envoie un message de notification CDN_HELP à votre procédure hook lorsque l'utilisateur clique sur le bouton Aide.
$OFN_USESHELLITEM - Ne pas utiliser.
nFileOffset Indique l'offset, à partir de 0, en TCHARs, depuis le début du chemin jusqu'au nom de fichier dans la chaîne pointée par lpstrFile.
Pour la version ANSI, c'est le nombre d'octets; pour la version Unicode, c'est le nombre de caractères.
nFileExtension Indique l'offset, à partir de 0, en TCHARs, depuis le début du chemin jusqu'à l'extension de nom de fichier dans la chaîne pointée par lpstrFile.
Pour la version ANSI, c'est le nombre d'octets; pour la version Unicode, c'est le nombre de caractères.
lpstrDefExt Pointeur vers un tampon qui contient l'extension par défaut.
lCustData Indique les données définies par l'application que le système passe à la procédure hook identifié par le membre lpfnHook.
lpfnHook Pointeur vers une procédure hook. Ce membre est ignoré si le membre Flags comprend le flag $OFN_ENABLEHOOK.
lpTemplateName Pointeur vers une chaîne terminée par null that names a dialog template resource dans le module identifié par le membre hInstance.
pvReserved Réservé. Doit être mis à NULL.
dwReserved Réservé. Doit être mis à 0.
FlagsEx Un jeu de bits que vous pouvez utiliser pour initialiser la boîte de dialogue. Actuellement, ce membre peut être zéro ou le flag suivant.
$OFN_EX_NOPLACESBAR - Si ce flag est activé, la barre des places n'est pas affichée.
Si ce flag n'est pas activé, les boîtes de dialogue de style Explorer comprennent une barre de places contenant des icônes pour les dossiers fréquemment utilisés, tels que Favoris et Desktop.