Scrollbalken mit Maus bedienen

Faller

Erfahrenes Mitglied
Jeder von euch hat (leider) schonmal Paint benutzt.

Im Paint ist es so das wenn ein Bild zugross wird Scrollbalken entstehen.
Nun kann man diese Scrollbalken mit der maus Steueren oder über die kleinen Pfeile.

Wenn man den Balken anklickt und zieht, dann bewet sich sofort das Bild mit.
Nun ich möchte dies genauso machen .
Ich habe bis jetze ein bild das ich in meiner Fenster darstelle.
Mit den scrollbalken kann ich bei zugrossen bildern scrollen.

Allerdings scrollt er erst wenn ich den Scrollbalken los lasse. und nicht schon wenn ich ihn bewege.
Mit welcher Nachricht kann ich erfahren das der Balken angeklickt wird.
Und auf welche er Position er gesetzt werden würde wenn der Nutzer aufhört zu ziehen.

mfg Faller
 
Es gibt bei WM_VSCROLL/WM_HSCROLL ein Flag in wParam, das dir angibt, in welcher Weise der Scrollbar bewegt worden ist.

SB_THUMBTRACK klingt nach dem richtigen Flag für dich.
 
case WM_VSCROLL:
SCROLLINFO siScrollInfo;
siScrollInfo.cbSize = sizeof(siScrollInfo);
siScrollInfo.fMask = SIF_ALL;
GetScrollInfo(hwnd, SB_VERT, &siScrollInfo);
switch (LOWORD(wParam))
{
case SB_LINEUP:y-=20;break;
case SB_LINEDOWN:y+=20;break;
case SB_PAGEUP:y=0;break;
case SB_PAGEDOWN:y=maxy;break;
case SB_THUMBPOSITION:y = HIWORD(wParam);break;
case SB_THUMBTRACK:y=siScrollInfo.nTrackPos;;break;
}
if(y<0)
y=0;
if(y>maxy)
y=maxy;
break;

Jep stimmt damit alles jetze hier drinne ist mal ein beispiel das funktioniert.
Danke ich wuste nur nicht nach was ich suchen muste.

Thx
Faller
 
Zurück