Comment faire en sorte qu'un PropertySheet ne garde pas le focus ?
en fait je gère les touches dans mes PropertyPage, et une fois qu'on change les onglets, c'est le PropertySheet qui prend le focus, et toutes mes touches deviennent inactives u_u
Comment faire en sorte qu'un PropertySheet ne garde pas le focus ?
en fait je gère les touches dans mes PropertyPage, et une fois qu'on change les onglets, c'est le PropertySheet qui prend le focus, et toutes mes touches deviennent inactives u_u
salut ,
que fais tu exactement quand tu dis gerer les touches ?
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
je gere dans la propertypage :
"PreTranslateMessage"
et je détecte le message "WM_KEYDOWN", puis suivant la touche, j'agit (genre si c'est la touche Entrée, je "clic" sur un bouton par défaut)
essaye de redefinir la fonction OnSetActive de la propertypage
et de faire un SetFocus.
tu as des controles dans ta propertypage ?
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
ma property page contient une 50 aine de controles (certaines plus), mais c'est parce que c'est une appli à vocation scientifique, donc c'est essentiellement des champs à param.
enfin bref, je vais essayer le onsetactive![]()
j'ai essayé "WM_ACTIVATE" sur la propertypage, mais ça ne change rien
idem, j'ai tenté le "WM_SETFOCUS" sur la propertysheet mais rien...
je vais essayer de prendre les touches de la propertysheet, et de les envoyer dans la propertypage... on sait jamais![]()
OnSetActive() c'est une fonction virtuelle de la propertypage pas un message.
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
j'ai essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 BOOL CTab_Table::OnSetActive() { SetFocus(); return TRUE; }
mais ça change rien... si je clique sur les onglets tranquillement tout va bien... Mais en double cliquant, le focus passe sur les onglets (le titre de l'onglet est légèrement encadré), et à partir de la, à moins de cliquer explicitement sur la fenêtre, c'est le propertysheet qui garde le focus...
essaye de donner le focus au premier controle de ta fenetre..
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
bon, j'ai trouvé une solution intermédiaire :
au double clic, l'onglet garde le focus, mais au changement de d'onglet, de toute façon c'est toujours la fenêtre qui garde bien le focus...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void CSheet::OnPaint() { CPaintDC dc(this); GetActivePage()->SetFocus(); }
je pense que ça suffira pour mon appli
d'autant que j'ai pas vraiment l'impression que c'est le sheet qui a le focus a ce moment la, vu qu'un AfxMesasgeBox dans les keydown ou autre pour cette classe ne fait rien à ce moment là...
enfin bref, je suis pas encore assez doué en MFC pour ça ^^
Partager