MFC-hinzufügen Bildlaufleiste, um die CWnd member
Ich habe einen member von CWnd-Klasse MeinFenster Namen
und ich möchte hinzufügen, die eine scroll-bar.
wie kann ich es tun?
ich versuche bereits, das zu tun:
mywindow.EnableScrollBarCtrl(SB_BOTH,TRUE);
es zeigt sowohl die Horizontale und Vertikale scroll-Balken,
aber ich kann nicht drücken Sie die Tasten oder bewegen Sie den scroll-bars.
ich versuche auch nach dem ersten Befehl:
mywindow.EnableScrollBar(SB_BOTH,ESB_ENABLE_BOTH);
und es änderte sich nichts.
kann jemand mir zeigen könnte, ein einfaches Beispiel, wie man hinzufügen scroll-Leiste, um dieses Mitglied?
vielen Dank,
Tal
InformationsquelleAutor Tal | 2011-12-25
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aktivieren der scroll-Balken ist nicht genug. Sie müssen reagieren auf die Fenster-Nachrichten
WM_HSCROLL
undWM_VSCROLL
. Mit derGetScrollInfo
Methode, die Sie bekommen die position (Wert) der Bildlaufleisten und dann zeichnen Sie Ihre Fenster den Inhalt entsprechend an dieser position.Muss es einige "überlauf" vor Bildlaufleisten aktiv wurde.
Schreiben 'ausreichend lange' Daten in Ihrer Ansicht und der Scrollbalken wird aktiv (so war zumindest meine Erfahrung vor Zeit).
In der Regel scroll-Balken bekommen, behandelt 'automatisch' von MFC Komponenten wie (zum Beispiel) text-editor oder der Formularansicht. I. e. wird sichtbar wurde, wenn erforderlich, auch ohne expliziten Aufruf EnableScrollBarCtrl ...
Schauen Sie etwas Bildlaufleiste tutorials wie http://www.codeproject.com/KB/dialog/scrolling_support.aspx . Im wesentlichen, dwo ' s Kommentar oben ist, was Sie tun müssen - mit den Nachrichten und legen Sie den virtuellen client area Größe.