SScroll

Hilfsklasse zur Scroll-Behandlung von SWindow. [Mehr ...]

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SScroll  

Attribute

public:

Attribut Typ Beschreibung
pWindow class SWindow* Zeiger auf das zu scrollende Fenster.
pWndScrollHor class SWindow* horizontales ScrollBarControl
pWndScrollVert class SWindow* vertikales ScrollBarControl
removeBarsIfNotNeeded BOOL Erlaubt das automatische entfernen der Scrollbars wenn diese nicht benötigt werden.
scrollLineSize int Größe eines Scroll-Schrittes beim Click auf einen Pfeil in der Scrollbar.
Ein negativer Wert entspricht einer Prozentangabe von fullHeight bzw. fullWidth.
scrollPageSize int Größe eines Scroll-Schrittes beim Click in die Scrollbar.
Ein negativer Wert entspricht einer Prozentangabe von fullHeight bzw. fullWidth.

protected:

Attribut Typ Beschreibung
fullHeight int Volle Größe Fensterinhaltes, einschließlich des nicht sichtbaren Bereiches.
fullWidth int Volle Größe Fensterinhaltes, einschließlich des nicht sichtbaren Bereiches.
hasBarHor BOOL Legt fest, ob eine horizontale Scroll-Bar vorhanden sein soll.
hasBarVert BOOL Legt fest, ob eine vertikale Scroll-Bar vorhanden sein soll.

Operationen

public:

Name Parameter Rückgabewert Beschreibung
enableBarHor BOOL enable=true BOOL Erlaubt oder sperrt die horizontale Scrollbar.
enableBarVert BOOL enable=true BOOL Erlaubt oder sperrt die vertikale Scrollbar.
getPosHor int Gibt die aktuelle horizontale Scroll-Position zurück.
getPosVert int Gibt die aktuelle vertikale Scroll-Position zurück.
getRangeHor SRange Gibt den horizontalen Scrollbereich zurück.
getRangeVert SRange Gibt den vertikalen Scrollbereich zurück.
getScrollInfo UINT bar,
SCROLLINFO* pScrollInfo
bool
onScrollHor int what void Ereignis das beim Scrollen ausgelöst wird.
onScrollVert int what void Ereignis das beim Scrollen ausgelöst wird.
recalc void Behandlungsroutine für Größenänderungen des Fensters.
setFullHeight int height void Setzt die volle Höhe des Fensterinhaltes, die Summe aus Sichtbarem und nicht Sichbarem.
setFullWidth int width void Setzt die volle Breite des Fensterinhaltes, die Summe aus Sichtbarem und nicht Sichbarem.
setPosHor int pos,
BOOL redraw=true
void Bewegt die horizontale Scroll-Bar an eine bestimmte Position.
setPosVert int pos,
BOOL redraw=true
void Bewegt die vertikale Scroll-Bar an eine bestimmte Position.
setRangeHor int min,
int max,
BOOL redraw=true
void Legt den horizontalen Scrollbereich fest.
setRangeVert int min,
int max,
BOOL redraw=true
void Legt den vertikalen Scrollbereich fest.
setScrollInfo UINT bar,
SCROLLINFO* pScrollInfo,
bool redraw=true
bool
showBarHor BOOL show=true BOOL Zeigt oder versteckt die horizontale Scrollbar.
showBarVert BOOL show=true BOOL Zeigt oder versteckt die vertikale Scrollbar.
useControls bool

protected:

Name Parameter Rückgabewert Beschreibung
hwnd HWND Ermittelt das Fensterhandle sicher.
setThumbSize void Setzt die aktuelle, proportionale Größe des Buttons der Scrollbar.

Detailbeschreibung SScroll

Hilfsklasse zur Scroll-Behandlung von SWindow.


Die Scrollbars werden mitgeführt, Ereignisse der Scrollbars werden behandelt.
Bei Verwendung von setFullHeight(..) bzw. setFullWidth(..) wird setRangeVert(..) und setRangeHor(..) sowie das Setzen der Buttongröße automatisch ausgeführt.
Neben dem Einschalten und dem Setzen der Größe des Fensterinhaltes sind die Funktionen zur Abfrage der aktuellen Position, getPosVert(..) und getPosHor(..), von Bedeutung.
Sollten in dem Scrollbereich Controls liegen, so werden diese beim Scrollen mit verschoben, wenn sie aber nur teilweise im Scrollbereich liegen, kann es zu Darstellungsproblemen kommen.
void MyScroll::onPostCreateCtrl()
{
scroll.showBarVert();
scroll.showBarHor();
scroll.setFullHeight(1000);
scroll.setFullWidth(1000);
}

Funktionsbeschreibungen

enableBarHor(BOOL enable=true) BOOL

Erlaubt oder sperrt die horizontale Scrollbar.

Parameter:

enable wenn true wird die Bar erlaubt, sonst gesperrt

Rückgabe:

BOOL true wenn erfolgreich

enableBarVert(BOOL enable=true) BOOL

Erlaubt oder sperrt die vertikale Scrollbar.

Parameter:

enable wenn true wird die Bar erlaubt, sonst gesperrt

Rückgabe:

BOOL true wenn erfolgreich

getPosHor() int

Gibt die aktuelle horizontale Scroll-Position zurück.

Rückgabe:

int Position

getPosVert() int

Gibt die aktuelle vertikale Scroll-Position zurück.

Rückgabe:

int Position

getRangeHor() SRange

Gibt den horizontalen Scrollbereich zurück.

Rückgabe:

SRange Scrollbereich

getRangeVert() SRange

Gibt den vertikalen Scrollbereich zurück.

Rückgabe:

SRange Scrollbereich

getScrollInfo(UINT bar, SCROLLINFO* pScrollInfo) bool

hwnd() HWND

Ermittelt das Fensterhandle sicher.

onScrollHor(int what) void

Ereignis das beim Scrollen ausgelöst wird.

Diese Funktion behandelt die Nutzerinteraktionen mit der Scrollbar. Schrittweiten werden durch scrollLineSize und scrollPageSize festgelegt.

Parameter:

what Ereignis
  • SB_ENDSCROLL
  • SB_LEFT
  • SB_RIGHT
  • SB_LINELEFT
  • SB_LINERIGHT
  • SB_PAGELEFT
  • SB_PAGERIGHT
  • SB_THUMBPOSITION = Der Nutzer zog mit der Maus an der Scrollbox und hat losgelassen.
  • SB_THUMBTRACK = Der Nutzer zieht mit der Maus an der Scrollbox.

onScrollVert(int what) void

Ereignis das beim Scrollen ausgelöst wird.

Diese Funktion behandelt die Nutzerinteraktionen mit der Scrollbar. Schrittweiten werden durch scrollLineSize und scrollPageSize festgelegt.

Parameter:

what Ereignis
  • SB_ENDSCROLL
  • SB_TOP
  • SB_BOTTOM
  • SB_LINEUP
  • SB_LINEDOWN
  • SB_PAGEUP
  • SB_PAGEDOWN
  • SB_THUMBPOSITION = Der Nutzer zog mit der Maus an der Scrollbox und hat losgelassen.
  • SB_THUMBTRACK = Der Nutzer zieht mit der Maus an der Scrollbox.

recalc() void

Behandlungsroutine für Größenänderungen des Fensters.

setFullHeight(int height) void

Setzt die volle Höhe des Fensterinhaltes, die Summe aus Sichtbarem und nicht Sichbarem.

setFullWidth(int width) void

Setzt die volle Breite des Fensterinhaltes, die Summe aus Sichtbarem und nicht Sichbarem.

setPosHor(int pos, BOOL redraw=true) void

Bewegt die horizontale Scroll-Bar an eine bestimmte Position.

Parameter:

pos -1 -> ans Ende

setPosVert(int pos, BOOL redraw=true) void

Bewegt die vertikale Scroll-Bar an eine bestimmte Position.

Parameter:

pos -1 -> ans Ende

setRangeHor(int min, int max, BOOL redraw=true) void

Legt den horizontalen Scrollbereich fest.

Parameter:

min kleinster Wert
max größter Wert
readraw wenn true wird die Scrollbar neu gezeichnet

Rückgabe:

void true wenn erfolgreich

setRangeVert(int min, int max, BOOL redraw=true) void

Legt den vertikalen Scrollbereich fest.

Parameter:

min kleinster Wert
max größter Wert
readraw wenn true wird die Scrollbar neu gezeichnet

Rückgabe:

void true wenn erfolgreich

setScrollInfo(UINT bar, SCROLLINFO* pScrollInfo, bool redraw=true) bool

setThumbSize() void

Setzt die aktuelle, proportionale Größe des Buttons der Scrollbar.

showBarHor(BOOL show=true) BOOL

Zeigt oder versteckt die horizontale Scrollbar.

Diese Funktion sollte nicht innerhalb einer Scrollbar-Message verwendet werden.

Parameter:

show wenn true wird die Scrollbar angezeigt, sonst versteckt

Rückgabe:

BOOL true wenn erfolgreich

showBarVert(BOOL show=true) BOOL

Zeigt oder versteckt die vertikale Scrollbar.

Diese Funktion sollte nicht innerhalb einer Scrollbar-Message verwendet werden.

Parameter:

show wenn true wird die Scrollbar angezeigt, sonst versteckt

Rückgabe:

BOOL true wenn erfolgreich

useControls() bool