SImageControl

Steuerelement zum Anzeigen eines Bildes. [Mehr ...]

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SWindow
SControl
SControlPositioned
SImageControl  

Attribute

public:

Attribut Typ Beschreibung
isButton BOOL Wenn True wird eine WM_COMMAND Nachricht an das Vaterfenster gesendet.
lastClickPos SPoint Letzte Position, auf die geklickt wurde.

protected:

Attribut Typ Beschreibung
backgroundColor COLORREF Hintergrundfarbe des Controls
image SImage Das aktuell anzuzeigende Bild.
position int Position des Bildes im Control, falls das Bild kleiner als das Control und nicht gestreckt ist.

Operationen

public:

Name Parameter Rückgabewert Beschreibung
recalcLayout void Neuberechnung der Bildposition
setBackgroundColor COLORREF color void Legt die Hintergrundfarbe fest.
setImage const SString& filename BOOL Legt das anzuzeigende Bild fest.
setPosition int position void Legt die Lage innerhalb des Controls fest.
setProportional BOOL proportional=true void Aktiviert/Deaktiviert das proportionale Strecken des Bildes.
setTransparentColor COLORREF color=SIMG_TRANSPARENT_LIKE_TOPLEFT void Legt die transparente Farbe für das Bild fest.
stretchImage BOOL stretch=true void Aktiviert/Deaktiviert das Strecken des Bildes.

protected:

Name Parameter Rückgabewert Beschreibung
onEraseBackground SDevice& screen BOOL Wird aufgerufen, wenn während des Neuzeichnens der Hintergrund gelöscht wird.
onLButtonDown WORD keys,
int xpos,
int ypos
void Behandlungsroutine für das Drücken der linken Maustaste.
onMouseMove WORD keys, int x, int y void Wird ausgelöst, wenn die Maus über den Clientbereich bewegt wird.
onPaint SDevice& screen void Zeichnet das Control
onSize int type,
int clientWidth,
int clientHeight
void Ereignis wird bei Größenänderungen des Controls aufgerufen.

Detailbeschreibung SImageControl

Steuerelement zum Anzeigen eines Bildes.


Das Bild wird zentriert und auf die Größe des Controls gezoomt.

Funktionsbeschreibungen

onEraseBackground(SDevice& screen) BOOL

Wird aufgerufen, wenn während des Neuzeichnens der Hintergrund gelöscht wird.

Diese Funktion gibt normalerweise FALSE zurück. In diesem Fall verwaltet Windows selbstständig welcher Bereich des Hintergrundes gelöscht und neugezeichnet werden muss. Da die GDI-Funktionen nicht besonders leistungsfähig sind, kann dieses Vorgehen zu einem starken Flackern führen. Um dies zu vermeiden ist es möglich die Verwaltung des Hintergrundes zu übernehmen. Dabei sind optimierungen möglich, die das Flackern reduzieren. In diesem Fall muss die Funktion TRUE zurückgeben.

Parameter:

screen aktuelles Bildschirm-Device des Fensters.

Rückgabe:

BOOL Der Hintergrund wird vom Programm selbst verwaltet.

onLButtonDown(WORD keys, int xpos, int ypos) void

Behandlungsroutine für das Drücken der linken Maustaste.

Parameter:

xpos Client-X-Koordinate des Ereignisses
ypos Client-Y-Koordinate des Ereignisses
keys Tastenstatus
  • MK_CONTROL Die Steuerungstaste ist gedrückt
  • MK_LBUTTON Die linke Maustaste ist gedrückt
  • MK_MBUTTON Die mittlere Maustaste ist gedrückt
  • MK_RBUTTON Die rechte Maustaste ist gedrückt
  • MK_SHIFT Die Umschalttaste ist gedrückt
  • MK_XBUTTON1 Windows 2000: Der erste Zusatz-Knopf ist gedrückt.
  • MK_XBUTTON2 Windows 2000: Der zweite Zusatz-Knopf ist gedrückt.

onMouseMove(WORD keys, int x, int y) void

Wird ausgelöst, wenn die Maus über den Clientbereich bewegt wird.

Parameter:

x Client-X-Koordinate des Ereignisses
y Client-Y-Koordinate des Ereignisses
keys Tastenstatus
  • MK_CONTROL Die Steuerungstaste ist gedrückt
  • MK_LBUTTON Die linke Maustaste ist gedrückt
  • MK_MBUTTON Die mittlere Maustaste ist gedrückt
  • MK_RBUTTON Die rechte Maustaste ist gedrückt
  • MK_SHIFT Die Umschalttaste ist gedrückt
  • MK_XBUTTON1 Windows 2000: Der erste Zusatz-Knopf ist gedrückt.
  • MK_XBUTTON2 Windows 2000: Der zweite Zusatz-Knopf ist gedrückt.

onPaint(SDevice& screen) void

Zeichnet das Control

Parameter:

screen Zeichendevice

onSize(int type, int clientWidth, int clientHeight) void

Ereignis wird bei Größenänderungen des Controls aufgerufen.

Parameter:

type kann eines von folgenden sein:
  • SIZE_MAXHIDE ein anderes Fenster wurde minimiert.
  • SIZE_MAXIMIZED Das Fenster wurde maximiert.
  • SIZE_MAXSHOW ein anderes Fenster wurde wiederhergestellt.
  • SIZE_MINIMIZED Das Fenster wurde minimiert.
  • SIZE_RESTORED Größe des Fensters wurde verändert aber es wurde nicht maximiert oder minimiert.
clientWidth neue Breite
clientHeight neue Höhe

recalcLayout() void

Neuberechnung der Bildposition

setBackgroundColor(COLORREF color) void

Legt die Hintergrundfarbe fest.

Parameter:

color neue Hintergrundfarbe

setImage(const SString& filename) BOOL

Legt das anzuzeigende Bild fest.

Parameter:

filename Dateiname des Bildes

Rückgabe:

BOOL laden erfolgreich

setPosition(int position) void

Legt die Lage innerhalb des Controls fest.

Parameter:

position eines von:
  • SIMG_POS_NW
  • SIMG_POS_N
  • SIMG_POS_NE
  • SIMG_POS_W
  • SIMG_POS_C
  • SIMG_POS_E
  • SIMG_POS_SW
  • SIMG_POS_S
  • SIMG_POS_SE

setProportional(BOOL proportional=true) void

Aktiviert/Deaktiviert das proportionale Strecken des Bildes.

Das proportionale Strecken (Zoom) ist nur wirksam, wenn Strecken aktiviert ist.

Parameter:

setTransparentColor(COLORREF color=SIMG_TRANSPARENT_LIKE_TOPLEFT) void

Legt die transparente Farbe für das Bild fest.

Standardmäßig ist keine Transparenz eingeschalten.

Parameter:

color als transparent anzuwende Farbe, oder
  • SIMG_TRANSPARENT_LIKE_TOPLEFT umd die Farbe des linken oberen Pixel zu verwenden oder
  • SIMG_NO_TRANSPARENT für keine Transparenz

stretchImage(BOOL stretch=true) void

Aktiviert/Deaktiviert das Strecken des Bildes.

Das Bild wird auf die Größe des Controls gebracht. Ist das proportionale Strecken nicht aktiviert wird das Bild verzerrt.

Parameter:

stretch Strecken aktivieren