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 braucheDie 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