Класс CTabView
Класс CTabView
упрощает использование класса управления tab ( CMFCTabCtrl) в приложениях, использующих архитектуру документа или представления MFC.
Синтаксис
class CTabbedView : public CView
Участники
Открытые методы
Имя | Описание |
---|---|
CTabView::AddView | Добавляет новое представление в элемент управления tab. |
CTabView::FindTab | Возвращает индекс указанного представления в элементе управления табуляции. |
CTabView::GetActiveView | Возвращает указатель на текущее активное представление |
CTabView::GetTabControl | Возвращает ссылку на элемент управления tab, связанный с представлением. |
CTabView::RemoveView | Удаляет представление из элемента управления табуляции. |
CTabView::SetActiveView | Делает представление активным. |
Защищенные методы
Имя | Описание |
---|---|
CTabView::IsScrollBar | Вызывается платформой при создании представления вкладок, чтобы определить, имеет ли представление вкладки общую горизонтальную полосу прокрутки. |
CTabView::OnActivateView | Вызывается платформой, когда представление вкладок активируется или неактивно. |
Замечания
Этот класс позволяет легко поместить представление табуляции в приложение документа или представления. CTabView
— это производный CView
класс, содержащий внедренный CMFCTabCtrl
объект. CTabView
обрабатывает все сообщения, необходимые для поддержки CMFCTabCtrl
объекта. Просто наследуйте класс и CTabView
подключите его к приложению, а затем добавьте CView
производные классы с помощью AddView
метода. Элемент управления tab будет отображать эти представления как вкладки.
Например, у вас может быть документ, который можно представить разными способами: как электронная таблица, диаграмма, редактируемая форма и т. д. При необходимости можно создать отдельные представления, нарисовав данные, вставить их в CTabView
производный объект и добавить их на вкладки без дополнительного кода.
Пример TabbedView: приложение представления с вкладками MFC иллюстрирует использование CTabView
.
Пример
В следующем примере показано, как CTabView
используется в примере 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()
};
Требования
Заголовок: afxTabView.h
CTabView::AddView
Добавляет представление в элемент управления tab.
int AddView(
CRuntimeClass* pViewClass,
const CString& strViewLabel,
int iIndex=-1,
CCreateContext* pContext=NULL);
Параметры
pViewClass
[in] Указатель на класс среды выполнения вставленного представления.
strViewLabel
[in] Задает текст вкладки.
iIndex
[in] Указывает отсчитываемую от нуля позицию, в которую необходимо вставить представление. Если положение равно -1, новая вкладка вставляется в конце.
pContext
[in] Указатель на CCreateContext
представление.
Возвращаемое значение
Индекс представления, если этот метод выполнен успешно. В противном случае –1.
Замечания
Вызовите эту функцию, чтобы добавить представление в элемент управления tab, внедренный в кадр.
CTabView::FindTab
Возвращает индекс указанного представления в элементе управления табуляции.
int FindTab(HWND hWndView) const;
Параметры
hWndView
[in] Дескриптор представления.
Возвращаемое значение
Индекс представления, если он найден; в противном случае — значение -1.
Замечания
Вызовите эту функцию, чтобы получить индекс представления с указанным дескриптором.
CTabView::GetActiveView
Возвращает указатель на текущее активное представление.
CView* GetActiveView() const;
Возвращаемое значение
Допустимый указатель на активное представление или NULL, если активного представления нет.
Замечания
CTabView::GetTabControl
Возвращает ссылку на элемент управления tab, связанный с представлением.
DECLARE_DYNCREATE CMFCTabCtrl& GetTabControl();
Возвращаемое значение
Ссылка на элемент управления вкладки, связанный с представлением.
CTabView::IsScrollBar
Вызывается платформой при создании представления вкладок, чтобы определить, имеет ли представление вкладки общую горизонтальную полосу прокрутки.
virtual BOOL IsScrollBar() const;
Возвращаемое значение
Значение TRUE, если представление вкладки должно быть создано вместе с общей полосой прокрутки. В противном случае — значение FALSE.
Замечания
Платформа вызывает этот метод при создании объекта CTabView .
Переопределите метод IsScrollBar в классе, производном от CTabView, и верните значение TRUE, если вы хотите создать представление с общей горизонтальной полосой прокрутки.
CTabView::OnActivateView
Вызывается платформой, когда представление вкладок активируется или неактивно.
virtual void OnActivateView(CView* view);
Параметры
view
[in] Указатель на представление.
Замечания
Реализация по умолчанию не выполняет никаких действий. Переопределите этот метод в производном CTabView
классе для обработки этого уведомления.
CTabView::RemoveView
Удаляет представление из элемента управления табуляции.
BOOL RemoveView(int iTabNum);
Параметры
iTabNum
[in] Индекс удаляемого представления.
Возвращаемое значение
Индекс удаленного представления, если этот метод выполнен успешно. В противном случае - 1.
Замечания
CTabView::SetActiveView
Делает представление активным.
BOOL SetActiveView(int iTabNum);
Параметры
iTabNum
[in] Отсчитываемый от нуля индекс представления вкладок.
Возвращаемое значение
Значение TRUE, если указанное представление было активно, значение FALSE, если индекс представления недопустим.
Замечания
Дополнительные сведения см. в разделе CMFCTabCtrl::SetActiveTab.