Partage
  • Partager sur Facebook
  • Partager sur Twitter

[wxWidgets] Tabs et listes

    5 mars 2008 à 14:26:57

    Salut à tous,
    sous ce titre peu explicite se cachent deux problèmes.

    Premièrement, j'ai de nombreux champs de texte (wxTextCtrl) et je souhaiterais passer de l'un à l'autre avec TAB, naturellement. Seulement, un appui sur TAB me renvoi au premier bouton de la fenêtre... J'ai cherché et trouvé la constante wxTE_PROCESS_TAB. Mais celà ne résout pas mon problème : un appui sur TAB n'a plus d'effet...

    Deuxièmement, j'ai une wxListBox avec plusieurs éléments. Je souhaiterais afficher un "tooltip" au passage de la souris, sois en dessous de celle-ci, soit dans la barre de status. Comment détecter un survol de la souris et afficher un tel message ?

    Merci à tous ceux qui sauront me répondre ;)
    • Partager sur Facebook
    • Partager sur Twitter
      5 mars 2008 à 14:51:23

      Salut.

      Pour ton premier problème, il ne faut surtout pas utiliser le style wxTE_PROCESS_TAB, car ça indique au wxTextCtrl d'utiliser [TAB] comme un caractère normal (au lieu de passer le focus au contrôle suivant).
      Tu dis que le focus passe immédiatement au premier bouton de la frame.
      Est-ce que ça le fait quelque soit le wxTextCtrl dans lequel tu te trouves ?
      Si ce n'est pas le cas, regardes l'ordre de création des contrôles.
      Sinon, tu peux éventuellement gérer l'événement EVT_KILL_FOCUS qui intervient quand un contrôle perd le focus, et dans ce cas, donner le focus toi même au wxTextCtrl suivant.

      Pour le "ToolTip" :
      Est-ce que la méthode "wxWindow::SetToolTip(const wxString &tip)" ne peut pas faire l'affaire ?
      Sinon, tu vas devoir gérer le 'événement EVT_MOTION correspondant à un MouseMove sur le contrôle.

      A toi de voir...
      @+
      Xav'
      • Partager sur Facebook
      • Partager sur Twitter
      Portail français wxWidgets : wxDev.fr | Quelques progs + libs wxWidgets compilées : mywxstuff
        5 mars 2008 à 16:36:11

        Salut,

        merci pour ces réponses.
        L'explication sur wxTE_PROCESS_TAB m'a d'ailleur permis de gérer l'appui sur [TAB] pour un widget que j'avais créé ;)

        Cependant, tous mes wxTextCtrl réagissent de la même manière ainsi que mes boutons lors d'un appui sur [TAB], sauf un wxTextCtrl en wxTE_MULTILINE, qui passe bien le focus au Bouton suivant. Bizarre...
        Est-ce que cela pourrait être du au fait que tous mes contrôles soient créés avec un ID aléatoire (wxID_ANY)?

        Sinon, merci pour le ToolTip. Mais il reste un problème : je voudrais un ToolTip différent sur chaque ligne de la wxListBox... je vais chercher, mais ca m'a l'air compliqué étant donné qu'on ne peut pas appliquer SetToolTip directement sur chaque Item.

        Merci pour ces pistes en tous cas ;)


        EDIT : je viens de me rendre compte que pour qu'un appui sur [TAB] passe le focus au contrôle suivant, il suffit de passer wxTE_PROCESS_ENTER au wxTextCtrl...
        • Partager sur Facebook
        • Partager sur Twitter

        [wxWidgets] Tabs et listes

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown