Udostępnij za pośrednictwem


Klasa CTabView

Klasa CTabView upraszcza korzystanie z klasy kontrolki tab ( CMFCTabCtrl) w aplikacjach korzystających z architektury dokumentu/widoku MFC.

Składnia

class CTabbedView : public CView

Elementy członkowskie

Metody publiczne

Nazwa/nazwisko opis
CTabView::AddView Dodaje nowy widok do kontrolki karty.
CTabView::FindTab Zwraca indeks określonego widoku w kontrolce karty.
CTabView::GetActiveView Zwraca wskaźnik do aktualnie aktywnego widoku
CTabView::GetTabControl Zwraca odwołanie do kontrolki karty skojarzonej z widokiem.
CTabView::RemoveView Usuwa widok z kontrolki karty.
CTabView::SetActiveView Uaktywnia widok.

Metody chronione

Nazwa/nazwisko opis
CTabView::IsScrollBar Wywoływana przez platformę podczas tworzenia widoku karty w celu określenia, czy widok karty ma udostępniony poziomy pasek przewijania.
CTabView::OnActivateView Wywoływana przez platformę, gdy widok karty jest aktywny lub nieaktywny.

Uwagi

Ta klasa ułatwia umieszczenie widoku z kartami w aplikacji dokumentu/widoku. CTabView jest klasą pochodną CViewzawierającą obiekt osadzony CMFCTabCtrl . CTabView obsługuje wszystkie komunikaty wymagane do obsługi CMFCTabCtrl obiektu. Po prostu utwórz klasę z CTabView klasy i podłącz ją do aplikacji, a następnie dodaj CViewklasy pochodne przy użyciu AddView metody . Kontrolka karty wyświetli te widoki jako karty.

Możesz na przykład mieć dokument, który może być reprezentowany na różne sposoby: jako arkusz kalkulacyjny, wykres, formularz edytowalny itd. Możesz utworzyć poszczególne widoki rysunkowe dla danych zgodnie z potrzebami, wstawić je do CTabViewobiektu -pochodnego i mieć je na karcie bez dodatkowego kodowania.

Przykład elementu TabbedView: aplikacja widoku z kartami MFC ilustruje użycie elementu CTabView.

Przykład

W poniższym przykładzie pokazano, jak CTabView jest używany w przykładzie 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()
};

Wymagania

Nagłówek: afxTabView.h

CTabView::AddView

Dodaje widok do kontrolki karty.

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

Parametry

pViewClass
[in] Wskaźnik do klasy środowiska uruchomieniowego wstawionego widoku.

strViewLabel
[in] Określa tekst karty.

iIndex
[in] Określa położenie na podstawie zera, w którym ma być wstawiony widok. Jeśli pozycja to -1, nowa karta zostanie wstawiona na końcu.

pContext
[in] Wskaźnik do CCreateContext widoku.

Wartość zwracana

Indeks widoku, jeśli ta metoda powiedzie się. W przeciwnym razie - 1.

Uwagi

Wywołaj tę funkcję, aby dodać widok do kontrolki karty osadzonej w ramce.

CTabView::FindTab

Zwraca indeks określonego widoku w kontrolce karty.

int FindTab(HWND hWndView) const;

Parametry

hWndView
[in] Uchwyt widoku.

Wartość zwracana

Indeks widoku, jeśli zostanie znaleziony; w przeciwnym razie, -1.

Uwagi

Wywołaj tę funkcję, aby pobrać indeks widoku, który ma określony uchwyt.

CTabView::GetActiveView

Zwraca wskaźnik do aktualnie aktywnego widoku.

CView* GetActiveView() const;

Wartość zwracana

Prawidłowy wskaźnik do aktywnego widoku lub wartość NULL, jeśli nie ma aktywnego widoku.

Uwagi

CTabView::GetTabControl

Zwraca odwołanie do kontrolki karty skojarzonej z widokiem.

DECLARE_DYNCREATE CMFCTabCtrl& GetTabControl();

Wartość zwracana

Odwołanie do kontrolki karty skojarzonej z widokiem.

CTabView::IsScrollBar

Wywoływana przez platformę podczas tworzenia widoku karty w celu określenia, czy widok karty ma udostępniony poziomy pasek przewijania.

virtual BOOL IsScrollBar() const;

Wartość zwracana

Wartość TRUE, jeśli widok karty powinien zostać utworzony razem z udostępnionym paskiem przewijania. W przeciwnym razie zwraca wartość FALSE.

Uwagi

Struktura wywołuje tę metodę podczas tworzenia obiektu CTabView .

Zastąp metodę IsScrollBar w klasie pochodnej CTabView i zwróć wartość TRUE, jeśli chcesz utworzyć widok, który ma udostępniony poziomy pasek przewijania.

CTabView::OnActivateView

Wywoływana przez platformę, gdy widok karty jest aktywny lub nieaktywny.

virtual void OnActivateView(CView* view);

Parametry

widok
[in] Wskaźnik do widoku.

Uwagi

Domyślna implementacja nic nie robi. Zastąp tę metodę w klasie -pochodnej CTabView, aby przetworzyć to powiadomienie.

CTabView::RemoveView

Usuwa widok z kontrolki karty.

BOOL RemoveView(int iTabNum);

Parametry

iTabNum
[in] Indeks widoku do usunięcia.

Wartość zwracana

Indeks usuniętego widoku, jeśli ta metoda powiedzie się. W przeciwnym razie -1.

Uwagi

CTabView::SetActiveView

Uaktywnia widok.

BOOL SetActiveView(int iTabNum);

Parametry

iTabNum
[in] Indeks oparty na zera widoku karty.

Wartość zwracana

Wartość TRUE, jeśli określony widok został aktywny, wartość FALSE, jeśli indeks widoku jest nieprawidłowy.

Uwagi

Aby uzyskać więcej informacji, zobacz CMFCTabCtrl::SetActiveTab.

Zobacz też

Wykres hierarchii
Klasy
CMFCTabCtrl
Klasa CView