CFormView und Scrollen
-
ich habe eine Formview mit der RessourcenEditor scrollbar gemacht. mein Problem ist dass ich nicht schnell scrollen kann. d.h wenn ich auf die Scrolle-Pfeile lange drücke oder die Scrollbar schnell bewege wird die Sanduhr gezeigt und kurz danach scrollt er zu der gewünsche Position. ich zeichne in der OnDraw-Funktion
und in
MyKlasse::OnInitialUpdate() { ...... // TODO:Höhe des Anzeigebereich rechnen m_Fenster_Gesamthöhe SetScrollSizes( MM_TEXT, CSize(0, 2000) ); CFormView::OnInitialUpdate(); }ich habe auch das hier versucht aber erfolglos
void CGueltigkeitsBestaetigungView2::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { //SCROLLINFO scrollinfo; //CFormView::GetScrollInfo(SB_VERT,&scrollinfo, SIF_ALL); CFormView::OnVScroll(nSBCode, nPos, pScrollBar); }weiss jemand woran es liegen könnte, muss man extra angeben um wieviel soll er scrollen.
sibourg
-
Vermutlich sind die nötigen Berechnungen, um das gescrollte Fenster anzeigen zu können, zu aufwendig. Was wird denn in deinem Dokument dargestellt?
(PS: Ich war mal so frei und habe Autorenname und Thread-Titel korrekt zugeordnet)
-
das vermute ich auch
ich habe einfache Zeichnungen ausprobiert un es scrollt wie es sein sollvoid CSplitterView1::OnDraw(CDC* cdc) { int y=10; CString cs; for(int i=0;i<20;i++) { cs.Format(_T("Text %d"),i); cdc->TextOut(10,y,cs); y = y+30; } }in meine Zeichen Funktion müssen Tatsächlich einen Schaltplan (Linien und Texte) und andere Information in Form von Texte gezeichnet. in der Funktion werden auch natürlich die Zeichen-Positionen berechnet.
ich habe einen anderen View aber abgeleitet von ScrollView gesehen von einer anderen Anwendung. der Zeichnet auch viele Information und dort kann man trotzdem schnell scrollen. ich habe die Views verglichen aber es ist mir nichts aufgefallen.
fällt dir was anderes auf ?