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 :

Gestion des Tabulations avec un PropertySheet


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Par défaut Gestion des Tabulations avec un PropertySheet
    Bonjour,

    Je vais revenir sur un sujet vu et revu. Mais cette fois si les PropertySheet et Tab sont de la partie.

    Je suis actuellement en train de réaliser un outil de saisie de données. Evidemement pour accélérer la saisie, la touche Tab est top. Mais les PropertySheet foutent la merde.

    Avant de commencer, il faut savoir quelques petites choses.
    • Tous les contrôles sont créer en dynamique,
    • Il y a aussi bien des contrôles dans les PropertyPage qu'en dehors,
    • Après la création de tous les contrôles, je fais une passe pour fixer le
      TabOrder.
    • Le PropertySheet n'a pas WS_TABSTOP mais a WS_EX_CONTROLPARENT
    • Les PropertyPage ont WS_TABSTOP mais n'ont pas WS_EX_CONTROLPARENT


    Maintenant passons aux problèmes. En fait, j'en ai deux.

    1 - Je n'arrive pas à mettre le focus sur le premier contrôle ( un bouton ). Pourtant quand il s'agit du premier contrôle qui doit avoir le focus, je met ce code là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pWnd->SetWindowPos ( &CWnd::wndTop, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE );
    J'ai également fait attention de retourner TRUE à la fin de la fonction OnInitDialiog.

    Au final le focus n'est pas sur le bouton, et pire que tout pour vérifier où est le focus, j'appuie sur Tab et là, l'onglet du premier PropertyPage prend le focus.
    Mais si je met le focus sur le bouton, en cliquand dessus et que j'appuie sur Tab, le focus part bien sur le bon contrôle.
    J'ai un peu tout essayer mais je suis à cours d'idée.



    2 - Maintenant, le problème vient de la navigation avec les PropertySheet.
    Une fois que le focus est dans une des pages du PropertySheet, le focus ne peut plus revenir sur les contrôles qui sont en dehors du PropertySheet.
    J'ai cru comprendre que c'est un des gros problèmes des PropertySheet. J'aimerai donc savoir si quelqu'un a réussi à résoudre ce problème.


    Merci d'avance pour votre aide

  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,
    retourne false dans OnInitDialog et précise le contrôle qui doit avoir le focus par monctrl.SetFocus().

  3. #3
    Membre éclairé Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Par défaut
    En fait, je me suis trompé je suis dans une vue donc il n'y a pas de retour.

    Je me suis trompé avec l'OnInitDialog des PropertyPage.

  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
    sur le point 2)
    peut être tenter une magouille sur la perte de focus du dernier controle ou sur l'interception du tab dans OnCommand comme dans la faq:
    http://c.developpez.com/faq/vc/?page...rapEscapeEnter
    pour faire un setfocus sur le controle en dehors ...


Discussions similaires

  1. Gestion des transactions avec les composants DOA
    Par lper dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/12/2008, 16h06
  2. [vb.net]Gestion des exceptions avec les web services
    Par mvr dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/12/2005, 22h41
  3. Gestion des factures avec interbase
    Par AlexB59 dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/10/2005, 12h05
  4. Gestion des cookies avec Indy 10
    Par membrax dans le forum Web & réseau
    Réponses: 5
    Dernier message: 21/09/2005, 18h44
  5. Class de gestion des images avec rotation
    Par Johnny Boy dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 11h54

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