J'ai une application qui utilise plusieurs classes CView
(en réalité CScrollView
) pour afficher les données du document. Pour une vue particulière, je veux ajouter une boîte d'édition fly-out pour ajouter des notes. C'est-à-dire, vous verriez un onglet au bas de la fenêtre étiqueté "Page Notes", et en cliquant sur cela ferait apparaître la boîte d'édition. Cliquer sur l'onglet alors que la boîte d'édition est visible le ramènerait juste à l'onglet.Flotter un contrôle sur un CView
Je pensais pouvoir utiliser un seul onglet CTabCtrl
en maintenant une boîte d'édition et juste positionner de sorte que seul l'onglet soit visible initialement. Capturez la notification de clic sur l'onglet et déplacez le contrôle entier, avec la zone d'édition, dans la vue. En cliquant à nouveau sur l'onglet, vous le déplacerez pour que seul l'onglet soit visible.
L'hébergement du CTabCtrl
sur le CView
est très bien, et je peux le positionner correctement. Le problème est que si la vue est défilée, le contrôle de tabulation est défilé avec elle, alors que j'en ai besoin pour "flotter" sur la vue et ne pas être affecté par un défilement. Je peux le remettre en place après le parchemin, mais le scintillement est disgracieux.
Existe-t-il un moyen simple d'accomplir l'effet "flottant"? Je souhaite principalement que l'onglet soit incorporé dans la vue pour la maintenance, car il s'agit de la seule classe d'affichage parmi les plusieurs en cours d'utilisation qui nécessite la fonctionnalité "Page Notes".
Est-ce que je devrais simplement boucler et mettre l'onglet dans la fenêtre parent de la vue à la place? Je sais que cela ne sera pas affecté par le défilement, mais j'aime l'idée de garder l'onglet dans le cadre de la vue si possible.
Si ce n'est pas censé défiler, ne devrait-il pas être "en dehors" de la vue déroulante, comme vous l'avez dit? Peut-être, vous avez besoin de diviser votre vue en deux vues? – Jaywalker