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

MFC Discussion :

OnShowWindow jamais appelé lorsque la fenêtre est cachée


Sujet :

MFC

  1. #1
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut OnShowWindow jamais appelé lorsque la fenêtre est cachée
    Salut

    J'ai une boîte de dialogue (dérivant de CDialog) non modale, et je souhaiterais exécuter certaines instructions lorsqu'elle est cachée.

    J'ai ajouté le message ON_WM_SHOWWINDOW, ainsi que la fonction OnShowWindow. Tout se passe bien lorsque la fenêtre est affichée, cependant lorsqu'elle est cachée (que ce soit en la fermant ou avec un ShowWindow(SW_HIDE)), la fonction OnShowWindow n'est jamais appelée.

    J'ai loupé quelque chose ?


  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut Laurent,
    je suppose que tu as fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pDlg->ShowWindow(SW_HIDE)
    après le Create ?

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Oui oui.

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    bon je confirme, le SW_HiDE doit être envoyé sur un changement d'état .
    si tu veux intercepter la première mise en place WM_ACTIVATE est un bon candidat...

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Je ne suis pas sûr de bien comprendre (je ne fais du MFC que très rarement ).

    Qu'est-ce que je dois faire exactement pour que ça fonctionne ? Pourquoi devrais-je intercepter WM_ACTIVATE ?

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    La fenêtre étant cachée à la création, le message WM_SHOWWINDOW n'est pas envoyé si on fait un ShowWindow(SW_HIDE).

    en fait la question est: que veux tu faire ?
    pourquoi tu veux intercepter WM_SHOWWINDOW ?

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    La fenêtre étant cachée à la création, le message WM_SHOWWINDOW n'est pas envoyé si on fait un ShowWindow(SW_HIDE)
    Oui mais plus tard elle est affichée avec un ShowWindow(SW_SHOW)

    en fait la question est: que veux tu faire ?
    pourquoi tu veux intercepter WM_SHOWWINDOW ?
    Ma boîte de dialogue posséde un bouton qui permet d'entrer dans un certain état, je voudrais juste désactiver automatiquement cet état si la boîte est cachée ou fermée.

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Bon, j'ai "résolu" le problème en faisant un SendMessage(SW_SHOWWINDOW, FALSE) juste après le ShowWindow(SW_HIDE). Ca ne couvre pas tous les cas, mais en attendant...

    Par contre je suis étonné que ça fonctionne, ShowWindow n'est pas censé envoyer ce message ?

Discussions similaires

  1. Menu de largeur minimale lorsque la fenêtre est redimensionnée
    Par DJ Caësar 9114 dans le forum Mise en page CSS
    Réponses: 13
    Dernier message: 10/04/2013, 22h46
  2. Réponses: 1
    Dernier message: 04/04/2012, 10h17
  3. Glut: savoir lorsque la fenêtre est déplacée
    Par Suwabara dans le forum GLUT
    Réponses: 1
    Dernier message: 09/10/2009, 18h32
  4. Réponses: 1
    Dernier message: 19/06/2007, 11h56
  5. [ Struts ] Erreur : l'action n'est jamais appelé
    Par romain3395 dans le forum Struts 1
    Réponses: 3
    Dernier message: 25/06/2004, 14h59

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