Widok skrolowany
klasa CScrollView
|
|
-
-
Widok skrolowany wzbogaca widok
o możliwość automatycznej obsługi
skrolowania
-
Skrolowany widok jest w MFC obsługiwany
przez klasę CScrollView, która jest pochodną
klasy CView
-
Zalety wykorzystania klasy CScrollView:
-
zarządza rozmiarami okna
i viewport
-
zarządza trybami
mapowania współrzędnych
-
automatycznie skroluje w
odpowiedzi na komunikaty scroll bars
-
automatycznie skroluje w
odpowiedzi na komunikaty klawiatury oraz IntelliMouse
wheel
[początek strony]
-
-
Ustawienie parametrów skrolowanego
widoku przy użyciu CScrollView::SetScrollSizes
-
zwykle ta metoda jest wywoływana
z CView::OnInitialUpdate i/lub CView::OnUpdate
-
możliwa jest zmiana następujących
ustawień:
- trybu mapowania współrzędnych
- całkowitego rozmiaru widoku (we współrzędnych
logicznych)
- wielkości skrolowania (we współrzędnych
logicznych), domyślnie strona to 1/10 wielkości
widoku, a linia to 1/10 wielkości strony
-
Klasa CScrollView daje także
mechanizm umożliwiający automatyczne skalowanie widoku
do rozmiaru okna, w którym widok jest umieszczony
-
przy wykorzystaniu tego
mechanizmu nie pojawiają się scroll bars, a
obszar roboczy jest całkowicie wypełniony
przeskalowanym widokiem
-
włączenie tego
mechanizmy następuje po wywołaniu metody CScrollView::SetScaleToFitSize
-
nie można jednocześnie
używać CScrollView::SetScaleToFitSize i CScrollView::SetScrollSizes
-
CScrollView automatycznie
dopasowuje viewport ustawiany na kontekście urządzenia
(device context) do aktualnych swoich ustawień
-
to dopasowanie ma miejsce w
metodzie CScrollView::OnPrepareDC
-
CScrollView::OnPrepareDC
jest automatycznie wywoływana dla kontekstu CPaintDC
wykorzystywanego przy obsłudze komunikatu WM_PAINT
-
jeśli zachodzi potrzeba
wywołania CScrollView::OnDraw dla innego kontekstu
niż CPaintDC, należy wówczas samemu wywołać
CScrollView::OnPrepareDC
-
metoda CScrollView::OnPrepareDC
jest właściwym miejscem na zmianę niektórych
ustawień kontekstu, ale nie należy zmieniać
skalowania
[początek strony]
[początek strony]
|