ScrollBar



  • Folgendes:

    1.) Hab nen Dialog
    2.) Dieser Dialog hat ein TabCtrl
    3.) Erstes Tab des TabCtrls hat einen Child-Dialog, wo ich jetzt Scrollbar brauche

    Die Scrollbar erscheint schonmal rechts auf der Seite des Dialogs.

    Wie kann ich nun realisieren, dass der Dialog (also der Child-Dialog) scrollt, wenn der User die Scrollbar benutzt?

    Einfache/Gute Lösungsvorschläge sind gesucht.



  • Hab es implementiert und es funktioniert, bis auf ein kleines Deatil, das mich noch stört.

    Folgendes:

    Ich benutze die Funktion: CWnd::ScrollWindow() in OnPaint

    Problem: Die Scrollbar wird jeweils auch gescrollt.

    Abhilfe: Scrollbar jedes Mal neu positieren in OnPaint

    Nachteil: Da die Scrollbar immer wieder neu gezeichnet wird, flimmert sie (wenig)...

    Lösungen, anyone?

    Die Funktion

    void ScrollWindow( int xAmount, int yAmount, LPCRECT lpRect = NULL, LPCRECT lpClipRect = NULL );
    

    ...Eigentlich könnte ich ja mit Paramter 3 den Bereich, den die Scrollbar einnimmt, ausgrenzen. Wenn ich das aber so mache, wird überhaupt nix mehr gescrollt...



  • Anmerkung:

    Die ScrollBar existiert als MEMBER in der Dialog-Klasse, also eine CScrollBar Variable.

    Hängt das Problem davon ab? Oder habe ich das gleiche Problem auch, wenn ich die Scrollbar in der Ressource-View erstelle? Würde aber gerne beim Member bleiben.

    Bitte um Hilfe!



  • Problem ist halt, dass die Scrollbar auch ein Child-Element des Dialogs ist. Deswegen wird sie auch immer gescrollt, und ich muss sie immer neu positieren.



  • Da wird mir doch sicher jemand ne Antwort geben können?!?!?!?!?



  • push



  • push



  • Wieso bekomme ich konsequent einfach keine Antwort? Weil es niemand weiß? Oder habe ich mich nicht deutlich genug ausgedrückt? Bin auf Hilfe angewiesen.



  • WM_HSCROLL / WM_VSCROLL



  • Die Messages kenne ich schon.

    Das Problem nochmal detailliert beschrieben:

    1.) Man erstelle einen Dialog (sagen wir: 500px breit, 100px hoch)
    2.) Man erstelle einen Child-Dialog (sagen wir: 500px breit, 200px hoch)
    3.) Der Child-Dialog gehört dem Dialog.
    4.) Der Child-Dialog bekommt jetzt rechts eine Scrollbar, die logischerweise maximal 100px hoch sein darf/kann.
    5.) Beim Betätigen der Scrollbar soll der gesamte Inhalt des Child-Dialogs scrollen
    6.) Problem tritt hier auf: Die Scrollbar muss ich beim Scrollen jedes Mal neu positionieren.
    7.) WIE IMPLEMENTIERE ICH DAS? VERDAMMTNOCHMAL


Anmelden zum Antworten