CView

Klasa CView zawiera podstawowe funkcje zdefiniowane przez użytkownika widoku klas. Widok jest dołączony do dokumentu i działa jako pośrednik między dokumentem a użytkownika: widoku powoduje renderowanie obrazu dokumentu na ekranie lub drukarce i interpretuje dane wejściowe użytkownika jako operacji na dokumencie.

Widok jest elementem podrzędnym okno ramek. Więcej niż jeden widok można udostępniać okno ramki, jak w przypadku podziału okna. Relacji między klasą widoku, klasy okno ramki i klasy dokumentu jest ustanowione przez obiekt CDocTemplate . Kiedy użytkownik otwiera nowe okno lub dzieli istniejącego jeden ramach konstrukcje nowego widoku i dołącza go do dokumentu.

Widok może zostać dołączony do tylko jednego dokumentu, ale dokument może mieć wiele widoków, przymocowanej do niego jednocześnie — na przykład, jeśli dokument jest wyświetlany w oknie rozdzielacza lub wiele okien podrzędnych w wielu aplikacji interfejsu (MDI) dokumentu. Aplikacja może obsługiwać różne typy widoków dla typu danego dokumentu; na przykład program do edycji tekstu może zapewniać zarówno w widoku Pełny tekst dokumentu, jak i w widoku konspektu, który pokazuje tylko nagłówki sekcji. Te różne typy widoków może być umieszczone w w osobnej ramki systemu windows lub w osobnych okienkach okna pojedynczą klatkę Jeśli używasz okna podziału.

Widok może być odpowiedzialnym za obsługę kilku różnych typów danych wejściowych, takich jak klawiatury, myszy lub wprowadzania danych za pomocą przeciągania i upuszczania, polecenia menu, paski narzędzi i paski przewijania. Widok odbiera poleceń przekazane przez jej okno ramek. Jeśli widok nie obsługuje danego polecenia, przekazuje polecenia do jego skojarzony dokumentu. Podobnie jak wszystkie polecenia tarcze widok obsługi wiadomości za pośrednictwem mapy wiadomości.

Widok jest odpowiedzialny dla wyświetlania i modyfikowania danych dokumentu, ale nie do przechowywania go. Dokument zawiera widok z niezbędnych szczegółach dotyczących jej danych. Można pozwolić programowi access widoku, który dokumentu danych członków bezpośrednio lub zapewnia funkcje składowe klasy dokumentu dla klasy widoku do wywołania.

Po zmianie danych dokumentu, odpowiedzialne za zmiany widoku zazwyczaj wywołuje funkcję CDocument::UpdateAllViews w dokumencie, który powiadamia wszystkich innych widoków, wywołując funkcję Państwa OnUpdate dla każdego. Domyślna implementacja OnUpdate unieważnia obszaru klienckiego całego widoku. Można zastąpić ją unieważnić tylko tych regionów obszaru klienckiego, które mapują zmodyfikowanej części dokumentu.

Aby użyć CView, pochodną klasy i zaimplementować funkcję Państwa OnDraw do wykonywania ekranu. Za pomocą OnDraw można także wykonać Podgląd wydruku i drukowania. Ramach obsługuje drukowanie pętli dla drukowania i podglądu dokumentu.

Widok obsługuje wiadomości pasek przewijania z funkcji członek CWnd::OnHScroll i CWnd::OnVScroll . Można zaimplementować obsługi w te funkcje wiadomości pasek przewijania, lub można za pomocą klasy CView pochodnych CScrollView uchwyt przewijania dla Ciebie.

Oprócz CScrollView, Biblioteka klas Microsoft Foundation zapewnia dziewięciu innych klas pochodnych CView:

Klasa CView ma również klasy pochodnej wdrażania o nazwie CPreviewView, używanego w ramach wykonywanie, Podgląd wydruku. Ta klasa zapewnia obsługę unikatowe w oknie Podgląd wydruku, takie jak pasek narzędzi, Podgląd strony pojedynczym lub podwójnym, funkcje i powiększanie, który jest powiększając wyświetlanego obrazu. &Nie trzeba zadzwonić lub przesłonić dowolne funkcje składowe CPreviewView, chyba że chcesz zaimplementować własną interfejsu dla previewnbsp wydruku; (na przykład, jeśli chcesz obsługiwać, edytowanie w trybie podglądu wydruku). Aby uzyskać więcej informacji na temat używania CView, zobacz Widok i dokumentu architektury tematy i drukowania w Visual C++ Programmer's Guide. Ponadto zobacz technicznych 30 Uwaga więcej informacji na temat Dostosowywanie podglądu wydruku.

# include lt;afxwin.h>

Czło&nkowie klasy |nbsp; Klasa podstawowa | Wykres hierarchii

Próbkinbsp; MFC próbki HELLO | Próbki MFC MDIBIND | Próbki MFC MDIDOCVW

Zobacz też CWnd, CFrameWnd, CSplitterWnd, CDC, CDocTemplate, CDocument

Index