IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Fenêtre "ouvrir un fichier" des années 1970


Sujet :

C

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 83
    Points
    83
    Par défaut Fenêtre "ouvrir un fichier" des années 1970
    Bonjour,

    dans un autre post j'ai demandé de l'aide pour ouvrir une fenêtre windows type "ouvrir un fichier" qui me permet de sélectionner plusieurs fichiers en appuyant sur la touche CTRL. Il s'agit en fait de placer le membre flag à OFN_ALLOWMULTISELECT, tout fonctionne bien.

    Le problème c'est que cette action sur le flag remplace la belle fenêtre d'ouverture de fichier par une fenêtre "noms courts" vieille "comme mes robes" et affreuse comme pas possible (le hic c'est les noms courts, pas qu'elle soit moche ).

    Je voudrais donc toujours effectuer la même action mais avec une fenêtre sans ces noms courts qui tronque les chemins par des ~à la 8ième lettre et rend illisible une arborescence.
    Quelqu'un peut me conseiller quelque chose d'autre, même en C++ (je travaille sous DEV-C++).

    Merci d'avance
    Taiby

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut


    Après une courte recherche sur la page que je t'avais donné sur l'autre post, essaye de mettre le flag OFN_EXPLORER comme c'est indiqué dans le tableau de description des flags :


    Indicates that any customizations made to the Open or Save As dialog box use the Explorer-style customization methods. For more information, see Explorer-Style Hook Procedures and Explorer-Style Custom Templates.

    By default, the Open and Save As dialog boxes use the Explorer-style user interface regardless of whether this flag is set. This flag is necessary only if you provide a hook procedure or custom template, or set the OFN_ALLOWMULTISELECT flag.

    If you want the old-style user interface, omit the OFN_EXPLORER flag and provide a replacement old-style template or hook procedure. If you want the old style but do not need a custom template or hook procedure, simply provide a hook procedure that always returns FALSE.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 83
    Points
    83
    Par défaut
    Merci Franck, j'essaye cela demain à l'aube

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 83
    Points
    83
    Par défaut
    C'est parfait, j'obtiens bien une fenêtre "moderne" mais je n'ai pas encore eu le temps de modifier le principe de récupération des noms de fichiers.
    Ils étaient avant séparés par un espace, ils le sont dans cette méthode par un \0, j'ai essayé rapidement en deux minutes mais j'obtiens un fonctionnement bizarre, mon debugger n'affiche pas toujours les noms de fichiers dans la variable de récupération du chemin complet, peut-être justement à cause de ces \0 ?

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par Taiby Voir le message
    C'est parfait, j'obtiens bien une fenêtre "moderne" mais je n'ai pas encore eu le temps de modifier le principe de récupération des noms de fichiers.
    Ils étaient avant séparés par un espace, ils le sont dans cette méthode par un \0, j'ai essayé rapidement en deux minutes mais j'obtiens un fonctionnement bizarre, mon debugger n'affiche pas toujours les noms de fichiers dans la variable de récupération du chemin complet, peut-être justement à cause de ces \0 ?
    Bin oui, le caracctère \0 étant le caractère de fin chaîne, c'est normal que tu n'affiche que ce qui se trouve avant
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par Franck.H Voir le message
    Bin oui, le caracctère \0 étant le caractère de fin chaîne, c'est normal que tu n'affiche que ce qui se trouve avant

    Effectivement sauf qu'au début lorsque j'ai fait trois quatre run en debuggage j'avais bien ma chaîne visible dans mon debugger avec le format "chemin\0noms1.txt\0nom2.txt"\0. Et après quelques run plus rien, je n'ai plus que le début du chemin jusqu'au premier \0, c'est pour ce là que je dis bizarre, bizarre...

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Sans doute un petit comportement indéterminé
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] macro pour ouvrir x fichier selectionner des col et les coller dans une feuille xl
    Par grainedechipie dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/02/2015, 09h46
  2. Réponses: 3
    Dernier message: 24/03/2009, 14h08
  3. [ API JDIC ] Ouvrir un fichier avec des paramètres
    Par macmanus dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 11/05/2007, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo