Compartir a través de


Clase CTabView

La clase CTabView simplifica el uso de la clase del control de pestaña (CMFCTabCtrl) en aplicaciones que utilizan la arquitectura de vista/documento de MFC.

Sintaxis

class CTabbedView : public CView

Miembros

Métodos públicos

Nombre Descripción
CTabView::AddView Agrega una vista nueva al control de pestaña.
CTabView::FindTab Devuelve el índice de la vista especificada en el control de pestaña.
CTabView::GetActiveView Devuelve un puntero a la vista activa actualmente.
CTabView::GetTabControl Devuelve una referencia al control de pestaña asociado a la vista.
CTabView::RemoveView Elimina la vista del control de pestaña.
CTabView::SetActiveView Activa una vista.

Métodos protegidos

Nombre Descripción
CTabView::IsScrollBar Lo llama el marco al crear una vista de pestaña para determinar si la vista de pestaña tiene una barra de desplazamiento horizontal compartida.
CTabView::OnActivateView Lo llama el marco cuando la vista de pestaña se activa o desactiva.

Comentarios

Esta clase facilita la colocación de una vista con pestañas en una aplicación de documento o vista. CTabView es una clase derivada de CView que contiene un objeto CMFCTabCtrl insertado. CTabView controla todos los mensajes necesarios para admitir el objeto CMFCTabCtrl. Simplemente derive una clase de CTabView y conéctela a la aplicación y, a continuación, agregue clases derivadas de CView mediante el método AddView. El control de pestaña mostrará esas vistas como pestañas.

Por ejemplo, puede que tenga un documento que se puede representar de maneras diferentes: como una hoja de cálculo, un gráfico, un formulario editable, etc. Puede crear vistas individuales dibujando los datos según sea necesario, insertarlas en el objeto derivado de CTabView y hacer que tengan pestañas sin necesidad de codificación adicional.

Ejemplo de TabbedView: Aplicación de vista con pestañas de MFC ofrece un ejemplo del uso de CTabView.

Ejemplo

En el ejemplo siguiente se muestra cómo se usa CTabView en el ejemplo TabbedView.

class CTabbedViewView : public CTabView
{
protected: // create from serialization only
   CTabbedViewView();
   DECLARE_DYNCREATE(CTabbedViewView)

   // Attributes
public:
   CTabbedViewDoc *GetDocument();

   // Operations
public:
   // Overrides
public:
   virtual void OnDraw(CDC *pDC); // overridden to draw this view
   virtual BOOL PreCreateWindow(CREATESTRUCT &cs);

protected:
   virtual BOOL OnPreparePrinting(CPrintInfo *pInfo);
   virtual void OnBeginPrinting(CDC *pDC, CPrintInfo *pInfo);
   virtual void OnEndPrinting(CDC *pDC, CPrintInfo *pInfo);

   BOOL IsScrollBar() const
   {
      return TRUE;
   }

   // Implementation
public:
   virtual ~CTabbedViewView();
#ifdef _DEBUG
   virtual void AssertValid() const;
   virtual void Dump(CDumpContext &dc) const;
#endif

protected:
   afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
   afx_msg BOOL OnEraseBkgnd(CDC *pDC);
   afx_msg void OnContextMenu(CWnd *, CPoint point);
   afx_msg void OnFilePrintPreview();

   DECLARE_MESSAGE_MAP()
};

Requisitos

Encabezado: afxTabView.h

CTabView::AddView

Agrega una vista al control de pestaña.

int AddView(
    CRuntimeClass* pViewClass,
    const CString& strViewLabel,
    int iIndex=-1,
    CCreateContext* pContext=NULL);

Parámetros

pViewClass
[in] Puntero a una clase en tiempo de ejecución de la vista insertada.

strViewLabel
[in] Especifica el texto de la pestaña.

iIndex
[in] Especifica la posición de base cero en la que se va a insertar la vista. Si la posición es -1, se inserta la nueva pestaña al final.

pContext
[in] Puntero al elemento CCreateContext de la vista.

Valor devuelto

Índice de vista si este método se realiza correctamente. En caso contrario, -1.

Comentarios

Llame a esta función para agregar una vista al control de pestaña insertado en un marco.

CTabView::FindTab

Devuelve el índice de la vista especificada en el control de pestaña.

int FindTab(HWND hWndView) const;

Parámetros

hWndView
[in] Identificador de la vista.

Valor devuelto

Índice de la vista si se encuentra; en caso contrario, -1.

Comentarios

Llame a esta función para recuperar el índice de una vista que tenga un identificador especificado.

CTabView::GetActiveView

Devuelve un puntero a la vista activa actualmente.

CView* GetActiveView() const;

Valor devuelto

Puntero válido a la vista activa o NULL si no hay ninguna vista activa.

Comentarios

CTabView::GetTabControl

Devuelve una referencia al control de pestaña asociado a la vista.

DECLARE_DYNCREATE CMFCTabCtrl& GetTabControl();

Valor devuelto

Una referencia al control de pestaña asociado a la vista.

CTabView::IsScrollBar

Lo llama el marco al crear una vista de pestaña para determinar si la vista de pestaña tiene una barra de desplazamiento horizontal compartida.

virtual BOOL IsScrollBar() const;

Valor devuelto

TRUE si se debe crear la vista de pestaña junto con una barra de desplazamiento compartida. De lo contrario, FALSE.

Comentarios

El marco llama a este método cuando se crea un objeto CTabView.

Invalide el método IsScrollBar en una clase derivada de CTabView y devuelva TRUE si desea crear una vista que tenga una barra de desplazamiento horizontal compartida.

CTabView::OnActivateView

Lo llama el marco cuando la vista de pestaña se activa o desactiva.

virtual void OnActivateView(CView* view);

Parámetros

view
[in] Puntero a la vista.

Comentarios

La implementación predeterminada no hace nada. Invalide este método en una clase derivada de CTabView para procesar esta notificación.

CTabView::RemoveView

Elimina la vista del control de pestaña.

BOOL RemoveView(int iTabNum);

Parámetros

iTabNum
[in] Índice de la vista que se va a eliminar.

Valor devuelto

Índice de la vista eliminada si este método se realiza correctamente. En caso contrario, -1.

Comentarios

CTabView::SetActiveView

Activa una vista.

BOOL SetActiveView(int iTabNum);

Parámetros

iTabNum
[in] Índice de base cero de la vista de pestaña.

Valor devuelto

TRUE si la vista especificada se activó, FALSE si el índice de la vista no es válido.

Comentarios

Para más información, consulte CMFCTabCtrl::SetActiveTab.

Consulte también

Gráfico de jerarquías
Clases
CMFCTabCtrl
CView (clase)