
La classe CSplitterWnd fournit les fonctionnalités d'une fenêtre fractionnée, qui est une fenêtre qui contient plusieurs volets. Un volet est généralement un objet spécifique à l'application dérivé de CView, mais il peut être n'importe quel objet de CWnd qui a l'ID de la fenêtre enfant approprié.
Un objet CSplitterWnd est généralement incorporé dans un objet parent de CFrameWnd ou de CMDIChildWnd . Créer un objet CSplitterWnd en utilisant les étapes suivantes:
Appelez la fonction membre Create pour créer une fenêtre fractionnée dynamique. Une fenêtre fractionnée dynamique est généralement utilisée pour créer et faire défiler un nombre de carreaux individuels, ou vues du même document. Le cadre crée automatiquement un volet initial pour le séparateur ; puis le cadre crée, redimensionne et dispose de volets supplémentaires que l'utilisateur gère les contrôles de fenêtre fractionnée.
Lorsque vous appelez Create, vous spécifiez une largeur de colonne et la hauteur de ligne minimale qui déterminent quand les volets sont trop petites pour être affiché entièrement. Après que vous appelez Create, vous pouvez ajuster ces minima en appelant le SetColumnInfo et le SetRowInfo membre de fonctions.
Également utiliser les fonctions membres SetColumnInfo et SetRowInfo pour définir une "idéale" largeur d'une colonne et la hauteur "idéale" pour une ligne. Lorsque le cadre affiche une fenêtre fractionnée, il affiche d'abord le cadre parent, puis la fenêtre fractionnée. Le cadre énonce ensuite des vitres dans les colonnes et les lignes en fonction de leurs dimensions idéales, travaillant à partir du haut à gauche pour le coin en bas à droite de la zone client de la fenêtre fractionnée.
Tous les volets dans une fenêtre fractionnée dynamique doivent être de la même classe. Des applications familières qui prennent en charge windows séparateur dynamique incluent Microsoft Word et Microsoft Excel.
Utilisez la fonction membre CreateStatic pour créer une fenêtre fractionnée statique. L'utilisateur peut modifier uniquement la taille des vitres dans un séparateur statique de fenêtre, pas leur nombre ou un ordre.
Vous devez créer spécifiquement les volets de tous les statique séparateur lorsque vous créez le séparateur statique. Assurez-vous que vous créez tous les volets avant de membre de l'image de la mère OnCreateClient fonction retourne, ou le cadre s'affiche pas correctement la fenêtre.
La fonction de membre CreateStatic initialise automatiquement un séparateur statique avec une largeur de colonne et la hauteur de ligne minimale de 0. Après que vous appelez Create, ajuster ces minima en appelant le SetColumnInfo et le SetRowInfo membre de fonctions. Également utiliser SetColumnInfo et SetRowInfo , après que vous appelez CreateStatic pour indiquer les dimensions du volet idéal désiré.
Les volets individuels d'un séparateur statique appartiennent souvent à des classes différentes. Pour des exemples de fenêtres statique, voir l'éditeur de graphiques et le gestionnaire de fichiers Windows.
Une fenêtre fractionnée prend en charge les barres de défilement spécial (mis à part les barres de défilement que peuvent avoir les vitres). Ces barres de défilement sont des enfants de l'objet CSplitterWnd et sont partagés avec les volets.
Vous créez les barres de défilement spéciale lorsque vous créez la fenêtre fractionnée. Par exemple, un CSplitterWnd qui possède une ligne, deux colonnes et le style WS_VSCROLL affichera une barre de défilement verticale est partagée par les deux volets. Lorsque l'utilisateur déplace la barre de défilement, WM_VSCROLL messages sont envoyés à deux volets. Lorsque les volets la position de la barre de défilement, la barre de défilement partagée est définie.
Pour plus d'informations sur les fenêtres, consultez Technical Note 29. Pour plus d'informations sur la façon de créer des fenêtres dynamiques, consultez Ajout de fenêtres à Scribble dans Amélioration des vues Visual C++ tutoriels, et l'exemple MFC général VIEWEX.
# include lt;afxext.h>
Membres de la classe |nbsp ; Classe de base | Graphique de la hiérarchie
Écha&ntillonnbsp ; MFC exemple VIEWEX