SButton

Repräsentiert einen SVL-Klickbutton. [Mehr ...]

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SWindow
SControl
SControlPositioned
SControlPredefined
SButtonCtrl
SButton
SDbWnd_FieldCheckbox

Attribute

protected:

Attribut Typ Beschreibung
isDefault BOOL Dieser Button ist der Standardbutton (beim Dialog)
isMouseOver BOOL Die Maus befindet sich über dem Button
round SSize Größenangabe für abgerundete Ecken des Buttons.
style_disabled SNumList Aussehen des Buttons wenn er deaktiviert ist
style_mouseover SNumList Aussehen des Buttons wenn sich die Maus über ihm befindet
style_normal SNumList Normales Aussehen des Buttons.
style_selected SNumList Aussehen des Buttons wenn er selektiert ist

Operationen

public:

Name Parameter Rückgabewert Beschreibung
getState int Gibt den aktuellen Zustand zurück.
setDefault BOOL isDefault=true void Markiert den Button als Standardschaltfläche.

protected:

Name Parameter Rückgabewert Beschreibung
messageHandler HWND hwndMsg,
UINT message,
WPARAM wParam,
LPARAM lParam,
BOOL noDefault=false,
LRESULT ret=0
LRESULT Behandlungsroutine für Windows-Nachrichten
onLoadStyle void Legt das Aussehen des Buttons fest.
onMouseEntry void Wird ausgelöst, wenn die Maus den Clientbereich des Buttons erreicht.
onMouseLeave void Wird ausgelöst, wenn die Maus den Clientbereich des Buttons verlässt.
onMouseMove WORD keys, int x, int y void Wird ausgelöst, wenn die Maus über den Clientbereich bewegt wird.
onPaintButton SRect btnRect,
int btnState,
HDC hdc
void Funktion zum Zeichnen des Buttons, wenn der Style BS_OWNERDRAW aktiv ist.

Detailbeschreibung SButton

Repräsentiert einen SVL-Klickbutton.


Der Button ist das wohl verbreitetste Steuerelement in GUI-Umgebungen. Er enthält einen Text und ist gewöhnlich mit einer Aktion verbunden. Buttons werden in Frames (SFrameWindow und deren Ableitungen) sowie in Toolbars eingesetzt.
Zur Erzeugung eines Buttons steht, wie bei allen Standard-Controls ein Wizard zur Verfügung, der die wichtigsten Einstellungen für einen neuen Button im Programm einträgt. Natürlich kann ein Button auch ohne diesen Wizard angelegt werden.

Beispiel: minimaler Quelltext für einen SButton

Die Klasse erhält ein Attribut vom Typ SButton.
In der 'onInitWindow'-Funktion wird der Button mit 'createCtrl' erzeugt, und mit dem Makro '_AddEventCall_OnCommand' mit einer Operation verbunden, die beim Klicken des Buttons ausgeführt werden soll.

btnEnde.createCtrl(this,"Ende",-100,-30);
  _AddEventCall_OnCommand(btnEnde.getID(),destroy)
Die negativen Werte bei der Position bedeuten, dass die Lage des Buttons von rechts bzw. unten angegeben wird.

Funktionsbeschreibungen

getState() int

Gibt den aktuellen Zustand zurück.

Rückgabe:

int eines von: BST_FOCUS, BST_PUSHED

messageHandler(HWND hwndMsg, UINT message, WPARAM wParam, LPARAM lParam, BOOL noDefault=false,LRESULT ret=0) LRESULT

Behandlungsroutine für Windows-Nachrichten

Parameter:

hwndMsg Fenster-Handle des Ziels der Nachricht
message Nachrichten-Nummer
wParam Nachrichten-Parameter
lParam Nachrichten-Parameter
noDefault Standardbehandlung der Nachricht abschalten
ret Standard-Rückgabewert

Rückgabe:

LRESULT Bearbeitungsergebnis der Nachricht (von Nachricht abhänig)

onLoadStyle() void

Legt das Aussehen des Buttons fest.

onMouseEntry() void

Wird ausgelöst, wenn die Maus den Clientbereich des Buttons erreicht.

onMouseLeave() void

Wird ausgelöst, wenn die Maus den Clientbereich des Buttons verlässt.

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

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

Parameter:

x X-Koordinate der Maus
y Y-Koordinate der Maus
keys eine Kombination von:
  • MK_CONTROL -> Strg-Taste
  • MK_LBUTTON -> linke Maustaste
  • MK_MBUTTON -> mittlere Maustaste
  • MK_RBUTTON -> recht Maustaste
  • MK_SHIFT -> Umschalt-Taste
  • MK_XBUTTON1 -> erste Zusatztaste (Win2k)
  • MK_XBUTTON2 -> zweite Zusatztaste (Win2k)

onPaintButton(SRect btnRect, int btnState, HDC hdc) void

Funktion zum Zeichnen des Buttons, wenn der Style BS_OWNERDRAW aktiv ist.

Parameter:

btnRect Rechteck zum Zeichnen = Fläche des Buttons
btnState ein Kombination von:
  • ODS_SELECTED (=gedrückt),
  • ODS_GRAYED,
  • ODS_DISABLED,
  • ODS_CHECKED,
  • ODS_FOCUS,
  • ODS_DEFAULT (=DefaultButton),
  • ODS_COMBOBOXEDIT,
  • ODS_HOTLIGHT,
  • ODS_INACTIVE

setDefault(BOOL isDefault=true) void

Markiert den Button als Standardschaltfläche.

Diese Schaltfläche wird von SDialog ausgelöst, wenn Enter betätigt wird.

Parameter:

isDefault wenn true, dann ist der Button ein DefaultButton, wenn false nicht