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

Windows Discussion :

Win API : GetOpenFileName


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de acryline
    Profil pro
    Inscrit en
    Août 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 200
    Par défaut Win API : GetOpenFileName
    Bonjour,

    J'aimerais ouvrir une boîte de dialogue commune d'ouverture de fichier en cliquant sur un bouton dans une fenêtre fille. Le bogue c'est que la fenêtre fille en arrière plan ne se redessine pas bien.

    Que j'envoie le message WM_PAINT en utilisant le handle de la fenêtre fille, que j'utilse UpdateWindow, InvalidateRect toujours avec le handle fille, pas moyen de passer par le WM_PAINT de la procédure de la fenêtre fille !!!

    La fenêtre se redessine mais pas avec les bonnes couleurs mais seulement avec les boutons et les contrôles... Y a -t-il une option que j'aurais mal configurée dans OPENFILENAME, est ce que la fonction GetOpenFineName interdit le passage par WM_PAINT quand c'est une fenêtre fille !!!
    Bon je dis n'importe quoi mais je ne vois pas du tout ce qui se passe... avez -vous une idée ou déjà rencontré ce problème ?

    Merci !

  2. #2
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par défaut
    Désolé cette satanée fonction je n'y touche plus.
    Beaucoup de personne on des problèmes récurent avec cette fonction GetOpenFineName, fait une recherche dans developpez.com

    Peut être que tu y trouveras des débuts de solutions, 2 exemples:

    http://www.developpez.net/forums/showthread.php?t=7153

    http://www.developpez.net/forums/sho...etOpenFileName

    Et bienvenu à toi sur le forum www.developpez.net

  3. #3
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  4. #4
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par acryline
    La fenêtre se redessine mais pas avec les bonnes couleurs mais seulement avec les boutons et les contrôles... Y a -t-il une option que j'aurais mal configurée dans OPENFILENAME, est ce que la fonction GetOpenFineName interdit le passage par WM_PAINT quand c'est une fenêtre fille
    Je ne suis pas certain que le problème vienne de GetOpenFileName....
    essaie d'afficher une DialogBox en modal et regarde si le problème persiste....

    On ne sait pas ce que tu fais dans le dessin de la fenêtre parente avec WM_PAINT.
    Il y a de fortes chances que le HDC obtenu pour dessiner ne soit plus valide....

    Dans WM_PAINT la procédure habituelle est la suivante
    case WM_PAINT:
    PAINTSTRUCT ps
    HDC hdc=BeginPaint(&ps);
    //faire qque chose avec hdc
    EndPaint(&ps);
    break;
    C'est pas expliqué ceci dans les tutos de CGI ?

  5. #5
    Membre confirmé Avatar de acryline
    Profil pro
    Inscrit en
    Août 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 200
    Par défaut
    Bonjour,

    Il y a de fortes chances que le HDC obtenu pour dessiner ne soit plus valide....
    Je pense effectivement que le HDC n'est plus valide et comme c'est pas mal embrouillé, allez le chercher quelque part !

    Donc je revois entièrement l'architecture de mon programme et c'est utile ! Avrc un ordinogramme à ma sauce ça devient bcp plus clair et bcp plus simple.

    Merci pour votre aide je donne des nouvelles si ça marche...et surtout si ça ne marche pas.

Discussions similaires

  1. oulala .. j'ai besoin d'aide en WIN API.. et autre
    Par nanettemontp dans le forum Windows
    Réponses: 25
    Dernier message: 17/09/2007, 13h44
  2. [Win API] problème avec WriteFile
    Par acryline dans le forum Windows
    Réponses: 5
    Dernier message: 02/11/2006, 09h26
  3. [Win API] insérer une flexgrid.(c' est une grille)
    Par bmatthieu3 dans le forum Windows
    Réponses: 3
    Dernier message: 15/10/2006, 14h26
  4. [Win API] insérer une flexgrid
    Par bmatthieu3 dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 09/10/2006, 16h46
  5. Réponses: 4
    Dernier message: 05/09/2005, 16h01

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