CView in CScrollView // Was gibt es zu beachten?
-
Hallo
Ich habe vor kurzem die Arbeit ein einem meiner größeren Projekte wieder aufgenommen.
Veränderte Gegebenheiten machen es nötig, das ich jetz in einer Ansicht scrollen muss/möchte, die bis vor kurzem von CView abgeleitet ist.
Da das Projekt sehr groß ist, ist es so gut wie unmöglich, das ganze nochmal zu machen und diesmal von CScrollView abzuleiten.
Deshalb hab ich alles in der Klasse von CView in CScroll View umgeleitet, SetScrollSizes() in InitalUpdate() eingebaut, aber nix passiert.
Worauf muss ich achten/ was muss ich machen, damit Scrollfelder an der Seite auftauchen, damit ich scrollen kann?
Ich hoffe ihr könnt mir helfe, vielen Dank schonmal.
DR
void CVokMainView::OnInitialUpdate() { CScrollView::OnInitialUpdate(); //ShowScrollBar(SB_HORZ,TRUE); CSize sizeTotal; sizeTotal.cx = 3000; // x-Achse sizeTotal.cy = 680; // y-Achse SetScrollSizes(MM_TEXT, sizeTotal); SetScrollSizes(MM_TEXT,sizeTotal); }in CVokMainView::OnDraw(CDC* pDC)
CDC speicherDC; speicherDC.CreateCompatibleDC(pDC); speicherDC.SelectObject(&bitmap); RECT rect; GetClientRect(&rect); m_ptScrollPos=GetScrollPosition();//Scroll Position abfragen pDC->StretchBlt(0,0,rect.right-rect.left,rect.bottom-rect.top,&speicherDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
-
Du musst IMHO gar nichts tun. Wenn SetScrollSizes durchgeführt wird, wird daduch die maximale Größe der gewünschten Anzeigefläche angegeben.
Den Rest macht der OnSize Handler.
Hast Du den evtl. überschrieben?
-
nein. Es ist eigtl. alles so wie es seien sollte....Ich hab jetz den Quellqode einer anderen CScrollview-Datei in die *cpp datei kopiert und modifiziert...und es klappt

Naja..was solls, wenn ich herausgefunden habe, woran es gelegen hat, lasse ich es euch wissen. Danke trotzdem.
