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.