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 soll

    void 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 ?


Anmelden zum Antworten