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 :

Activer et faire passer en avant plan un vue de type CScrollView


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 78
    Par défaut Activer et faire passer en avant plan un vue de type CScrollView
    Bonsoir,

    Je souhaite en cliquant sur un item d'un menu faire passer en avant plan une vue de type CScrollView.

    La méthode associé au clic dans le menu se trouve dans MainFrm.

    J'ai regardédans la FAQ, le topic "Comment activer et faire passer en premier plan une fenêtre fille (Child)?" mais je ne comprends pas très bien la démarche car il est question de récupérer dans OnInitialUpdate le pointeur sur la MDI. Or l'activation doit se faire depuis MainFrm et non pas depuis la classe correspondant à la vue à activer.

    J'aurais bien vu qq chose comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CMaClasse *MaClasse;
    MaClasse=static_cast<CMaClasse *>(Utili.FindFirstInstanceView(RUNTIME_CLASS(CMaClasse)));
     
    ((CMDIFrameWnd *)theApp.m_pMainWnd)->MDIActivate(MaClasse)
    Mais cela ne fonctionne pas.

  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,
    je suppose que le projet est MDI.
    lorsqu'on est en présence de plusieurs vues il faut itérer les vues et repérer celle qui est concernée.
    faq:http://cpp.developpez.com/faq/vc/?pa...App#GetAllView
    il faudra tester le runtime de la vue en question.
    après tu pourras utiliser MDIActivate:
    http://cpp.developpez.com/faq/vc/?pa...IChildActivate
    ou éventuellement un BringWindowToTop(); sur la vue.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 78
    Par défaut
    Merci farscape

    Le projet est bien de type MDI.

    Je vais essayer d'implémenter tout ça...

Discussions similaires

  1. [Débutant] Comment faire passer une fenêtre d'application active au 1er plan
    Par guillaume.niel dans le forum VB.NET
    Réponses: 4
    Dernier message: 08/12/2012, 23h28
  2. Réponses: 12
    Dernier message: 05/09/2007, 14h46
  3. Comment faire pour qu'une Form reste en avant-plan?
    Par Bodom-Child dans le forum C++Builder
    Réponses: 3
    Dernier message: 25/08/2005, 10h28
  4. Réponses: 10
    Dernier message: 21/04/2005, 10h00

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