In Dialog scrollen

lindin

Erfahrenes Mitglied
Hallo,

erstmal hoffe ich, daß ich irgendwann auch soweit bin, daß ich hier ein paar Fragen beantworten kann ;-)

Ich möchte gerne in einer Dialogbox den Text ganz nach unten scrollen,
hab es mit

SendMessage( hwnd, WM_VSCROLL,SB_BOTTOM, NULL );

versucht, es kommt auch kein Error zurück, aber es passiert nichts!
Muß ich dann irgendwie mit ShowWindow() das Fenster nochmal anzeigen oder so?

Danke!
 
Eine Dialogbox an sich hat keinen Text zum scrollen.

Ist der Text in einer Edit oder ListBox? Dann musst du dir mit GetDlgItem über die ID das HWND von der Edit oder der ListBox holen. An dieses HWND kannst du dann die WM_VSCROLL-Message schicken.
 
DAs FEnster wird mit CreateDialog() erstellt.
Das FEnster besteht im Prinzip aus zwei Fesnetrn ein Input-Fenster und ein Outputfenster! (Chat)
Ich müßte also irgendwie das Outputfenster mit seiner ID ansprechen, und dann scrollen, aber wie , das weiß ich nicht!
 
Dein Input bzw. Outputfenster hast du ja entweder im Ressourcen-Editor erstellt oder per Hand mit CreateWindow.

Im Ressourcen-Editor kannst du einen Rechtsklick machen und im Popup-Menü Eigenschaften auswählen. Dort müsste dann unter anderem auch deine ID stehen (ein ID_EDIT_OUTPUT oder wie auch immer das genannt worden ist).

Ansonsten ist die ID bei CreateWindow der drittletzte Parameter (ja, das HMENU). Wenn ein CreateWindow mit WS_CHILD aufgerufen wird, dann ist das HMENU die ID des Controls.

Das HWND kannst du mit GetDlgItem( hwndVomHauptfenster, ID_EDIT_OUTPUT oder ID-Wert) bekommen.

Zu diesem HWND sendest du dann mit dem schon bekannten SendMessage die WM_VSCROLL-Nachricht.
 

Neue Beiträge

Zurück