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 :

Handle d'une fenêtre


Sujet :

MFC

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Handle d'une fenêtre
    Bonjour.

    J'ai recherché sur le forum et j'ai trouvé une solution. Par contre, elle ne fonctionne pas, ou du moins, elle n'est peut-être pas appropriée à ce que je veux faire.

    C'est simple : je suis dans un MDI et je voudrais qu'au clic d'un bouton, l'icône de la fenêtre clignotte sur la barre des tâches. J'ai utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    FLASHWINFO flashInfo;
    flashInfo.cbSize = sizeof(FLASHWINFO);
    flashInfo.dwFlags = FLASHW_TRAY;
    flashInfo.uCount = 5;
    flashInfo.dwTimeout = 0;
    flashInfo.hwnd = hWnd;
    FlashWindowEx(&flashInfo);
    mais je n'arrive pas trouver quel argument je dois passer pour le hWnd. Comment lui indiquer que c'est mon MDI qui doit clignoter?

    Si ça peut vous aider, ce code serait géré par la classe ApplicationDoc.cpp.

    Merci!!

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    je suppose que tu es en MFC.
    TU as essayé de lui passer this->GetSafeHwnd() ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Oui. Le problème, c'est qu'il me dit que GetSafeHwnd() n'est pas une méthode de ma fenêtre.

  4. #4
    Membre actif Avatar de blackhorus
    Inscrit en
    Février 2003
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 209
    Points : 226
    Points
    226
    Par défaut
    essaye ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AfxGetApp()->m_pMainWnd

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Désolé pour le retard de la réponse.

    J'ai placé la commande comme suit :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    flashInfo.hwnd = AfxGetApp()->m_pMainWnd
    Sans succès. Voici le message d'erreur:

    error C2440: '=' : cannot convert from 'CWnd *' to 'HWND'
    J'ai alors essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    flashInfo.hwnd = (HWND)AfxGetApp()->m_pMainWnd
    Cette fois, aucun message d'erreur, mais l'icône du logiciel ne clignotte toujours pas. Une solution?

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    pour le handle de l'application c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    flashInfo.hwnd =AfxGetMainWnd()->GetSafeHwnd( );
    la frame active:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CMDIFrameWnd *pMain=static_cast<CMDIFrameWnd *>(AfxGetMainWnd());
    CFrameWnd* pFrame=pMain->GetActiveFrame( );
    if(pFrame)
    flashInfo.hwnd =pFrame->GetSafeHwnd( );

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup, la première ligne fonctionne!
    Je crois que c'est une des choses où l'on cherche longtemps, mais qu'après, on se rappelle!

  8. #8
    BNS
    BNS est déconnecté
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    J'ai le meme probleme, mais je n'utilise pas les MFC:
    Dans une de mes fonctions, je souhaiterais recuperer le handle de ma fenetre principale (pour pouvoir lui envoyer un Message). J'ai essayé ::GetDesktopWindow par exemple mais ca ne donne rien!
    Merci beaucoup pour votre aide!

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

Discussions similaires

  1. Récupérer le handle d'une fenêtre précise
    Par AMS010 dans le forum Windows
    Réponses: 1
    Dernier message: 04/07/2008, 16h11
  2. comment obtenir le handle d'une fenètre
    Par DarkPoster14 dans le forum Visual C++
    Réponses: 2
    Dernier message: 30/04/2008, 18h49
  3. Handle d'une fenêtre
    Par DAGADA dans le forum Langage
    Réponses: 1
    Dernier message: 26/04/2006, 13h02
  4. Trouver un la handle d'une fenêtre cachée sans FindWindow()
    Par Jean-Philippe Shields dans le forum Windows
    Réponses: 3
    Dernier message: 24/02/2006, 12h08
  5. Coment récupérer le handle d'une fenêtre
    Par robocop2776 dans le forum MFC
    Réponses: 2
    Dernier message: 30/10/2005, 22h21

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