SToolbar

Diese Klasse stellte eine Toolbar mit Button zur Verfügung. Sie muss immer in eine SCoolbar eingefügt werden.

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SWindow
SControl
SToolbar
SMenubar

Attribute

public:

Attribut Typ Beschreibung
createBarHeight int Ausgangshöhe der Toolbar
orgWndProcToolbar WNDPROC Standard-Behandlungsroutine des Controls
tooltipBallonStyle BOOL Legt fest ob der ToolTip im Ballon-Style angezeigt werden soll (benötigt IE5).
tooltipMaxWidth int Maximale Breite des ToolTips.

protected:

Attribut Typ Beschreibung
imageHeight int Höhe des Toolicons
imageList SImageList Liste der Bilder für Icons
imageWidth int Breite des Toolicons
lastMousePoint SPoint Speichert den letzten MouseMove-Punkt für die ToolTip-Zuordnung.
toolTips SMapNumToString Beinhaltet die Zuordung von Button-IDs zu Tooltipps.

Operationen

public:

Name Parameter Rückgabewert Beschreibung
addButton const SString& text,
const SString& imagefile="",
int ctrlID=0,
DWORD style=BTNS_SHOWTEXT|BTNS_AUTOSIZE,
DWORD data=0
int Fügt einen Button an die Toolbar an.
addSeparator void Fügt einen Separator in die Buttonleiste ein.
create SWindow* pParent BOOL Erstellt die Toolbar.
createBig SWindow* pParent BOOL Erzeugt eine Toolbar, die höher ist und die Texte unter den Bildern hat.
getButtonCount int Gibt die Anzahl der Button in der Toolbar zurück.
getButtonRect int ctrlID SRect Liefert die Größe und Position des gesuchten Buttons.
getButtonState int ctrlID BOOL Ermittelt den Zustand eines Buttons.
getButtonStyle int ctrlID int Ermittelt den Style eines Buttons.
hitTest SPoint point int Ermittelt den zu dieser Position gehörigen Button-ID.
pressCheckButton int ctrlID,
int newState=-1
int Betätigt einen CheckButton, als ob er geklickt wurde.
sendMessage UINT msg,
WPARAM wparam,
LPARAM lparam
LRESULT Sendet eine Nachricht an dieses Fenster.
setButtonState int ctrlID, DWORD state BOOL Setzt den Status eines Buttons.
setButtonText int ctrlID,
const SString& text
BOOL Verändert den Text des ToolButtons.
setToolTip int btnID,
const SString& tiptext
void Legt für einen Button einen ToolTip-Text fest.
winProcCtrlToolbar HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam
LRESULT CALLBACK Behandlungsroutine für Windows-Nachrichten

protected:

Name Parameter Rückgabewert Beschreibung
onDropDown int ctrlID void Wird ausgelöst, wenn ein Drop-Down Button betätigt wurde.
onMouseMove WORD keys, int x, int y void Ereignis wird bei Mausbewegung über dem Control ausgelöst.
onNotifySelf int notifyCode,
LPNMHDR pNotify
LRESULT Dieses Ereignis wird ausgelöst, wenn eine Notify-Message an den Parent gesendet wurde.
onNotifyToolTip_needText char* Ereignis wird ausgelöst, wenn ein ToolTip Text benötigt.
onPostCreateCtrl void Wird nach dem Erstellen und vor dem ersten Anzeigen ausgelöst.
onSize int type,
int clientWidth,
int clientHeight
void Ereignis wird ausgelöst, wenn eine Größenänderung der ToolBar erfolgt.

Detailbeschreibung SToolbar

Diese Klasse stellte eine Toolbar mit Button zur Verfügung. Sie muss immer in eine SCoolbar eingefügt werden.

Funktionsbeschreibungen

addButton(const SString& text, const SString& imagefile="", int ctrlID=0, DWORD style=BTNS_SHOWTEXT|BTNS_AUTOSIZE, DWORD data=0) int

Fügt einen Button an die Toolbar an.

Parameter:

text Text der zu dem Button gehört
imagefile Dateiname des Bitmaps, wenn leer wird kein Bitmap dargestellt, das Image sollte 16x16 Pixel groß sein. Die Farbe des linken oberen Pixels wird als Transparente Farbe verwendet.
ctrlID zu verwendender ctrlID für das senden von Nachrichten (WM_COMMAND), wenn 0 wird ein neuer erzeugt
style zu verwendender Button-Style
  • BTNS_SHOWTEXT -> Text neben dem Bild darstellen, wirkt nicht wenn der Text unter dem Bild steht
  • BTNS_AUTOSIZE -> jeder Button hat eine eigene Breite
  • TBSTYLE_CHECK -> der Button hat zwei Zustände

Rückgabe:

int die verwendete Control-ID, -1 bei Fehler

addSeparator() void

Fügt einen Separator in die Buttonleiste ein.

create(SWindow* pParent) BOOL

Erstellt die Toolbar.

Parameter:

pParent Zeiger auf das Elternfenster

createBig(SWindow* pParent) BOOL

Erzeugt eine Toolbar, die höher ist und die Texte unter den Bildern hat.

Parameter:

pParent Zeiger auf das Elternfenster

getButtonCount() int

Gibt die Anzahl der Button in der Toolbar zurück.

Rückgabe:

int Anzahl der Button

getButtonRect(int ctrlID) SRect

Liefert die Größe und Position des gesuchten Buttons.

Parameter:

ctrlID ID des gesuchten Buttons

Rückgabe:

SRect Größe und Position des Buttons

getButtonState(int ctrlID) BOOL

Ermittelt den Zustand eines Buttons.

Parameter:

ctrlID ID des gesuchten Buttons

Rückgabe:

BOOL -1 wenn Fehler, sonst eine Kombination von:
  • TBSTATE_CHECKED = Der Button hat den TBSTYLE_CHECK style und ist gedrückt.
  • TBSTATE_ELLIPSES = Zu langer Beschreibungstext wird bei Bedarf mit Punkten verkürzt ("...") ab Version 4.70
  • TBSTATE_ENABLED = Der Button akzeptiert Benutzereingaben. Ein Button ohne diesen Status ist ausgegraut.
  • TBSTATE_HIDDEN = Der Button ist unsichtbar und akzeptiert keine Benutzereingaben.
  • TBSTATE_INDETERMINATE = Der Button ist ausgegraut.
  • TBSTATE_MARKED = Der Button ist markiert. Die Interpretation eines markierten Elements ist abhängig von der Applikation.
  • TBSTATE_PRESSED = Der Button wurde betätigt.
  • TBSTATE_WRAP = Dem Button folgt ein Zeilenumbruch. Der Button muss ausserdem den TBSTATE_ENABLED Status besitzen.

getButtonStyle(int ctrlID) int

Ermittelt den Style eines Buttons.

Rückgabe:

int -1 wenn Fehler, sonst eine Kombination von z.B.
  • BTNS_CHECK = der Button hat zwei Zustände, gedrückt/nicht gedrückt
  • BTNS_GROUP = benutzt in Verbindung mit BTNS_CHECK leitet er eine Radio-Gruppe ein
  • BTNS_SEP = ist ein Separator = Trennlinie

hitTest(SPoint point) int

Ermittelt den zu dieser Position gehörigen Button-ID.

Wenn kein Button an dieser Position ist wird der nächstliegende Button-ID negativ zurückgegeben.
Separatoren werden nur negativ zurückgegeben.

Parameter:

point zu testender Punkt

Rückgabe:

int >0 Button-ID des Buttons, der auf diesem Punkt liegt
int <0 Button-ID des nächstliegenden Buttons

onDropDown(int ctrlID) void

Wird ausgelöst, wenn ein Drop-Down Button betätigt wurde.

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

Ereignis wird bei Mausbewegung über dem Control ausgelöst.

Parameter:

keys Sondertasten (CTRL, ALT, SHIFT, ...)
x X-Koordinate der Maus
y Y-Koordinate der Maus

onNotifySelf(int notifyCode, LPNMHDR pNotify) LRESULT

Dieses Ereignis wird ausgelöst, wenn eine Notify-Message an den Parent gesendet wurde.

onNotifyToolTip_needText() char*

Ereignis wird ausgelöst, wenn ein ToolTip Text benötigt.

Liefert den Text für den ToolTip.

Rückgabe:

char* der ToolTipText

onPostCreateCtrl() void

Wird nach dem Erstellen und vor dem ersten Anzeigen ausgelöst.

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

Ereignis wird ausgelöst, wenn eine Größenänderung der ToolBar erfolgt.

Parameter:

type Art der Größenänderung
clientWidth neue Breite
clientHeight neue Höhe

pressCheckButton(int ctrlID, int newState=-1) int

Betätigt einen CheckButton, als ob er geklickt wurde.

Gilt nur für Button mit dem Style BTNS_CHECK. Wenn der Status geändert wird, wird auch das entsprechende Ereignis/Message ausgelöst.

Parameter:

ctrlID ID des gesuchten Buttons
state
  • wenn -1 wird der Zustand geändert
  • wenn 0 wird der Button in den Zustand "nicht gedrückt" gebracht
  • wenn 1 wird der Button in den Zustand "gedrückt" gebracht

Rückgabe:

int -1 bei Fehler,
int 0 wenn der Button nicht mehr gedrückt ist,
int 1 wenn der Button im Anschluß gedrückt ist (nur bei BTNS_CHECK möglich)

sendMessage(UINT msg, WPARAM wparam, LPARAM lparam) LRESULT

Sendet eine Nachricht an dieses Fenster.

setButtonState(int ctrlID, DWORD state) BOOL

Setzt den Status eines Buttons.

Beachte: meistens ist der Status TBSTATE_ENABLED mit anzugeben.

Parameter:

ctrlID ID des Buttons
state Status, eine Kombination aus:
  • TBSTATE_CHECKED Der Button hat den Style TBSTYLE_CHECK und wird gedrückt.
  • TBSTATE_ELLIPSES Version 4.70. Der Button-Text ist abgeschnitten und ... ist angehängt.
  • TBSTATE_ENABLED Der Button kann benutzt werden. Buttons ohne diesen Status sind grau.
  • TBSTATE_HIDDEN Der Button ist nicht sichtbar.
  • TBSTATE_INDETERMINATE Der Button ist grau.
  • TBSTATE_MARKED Der Button ist markiert.
  • TBSTATE_PRESSED Der Button ist gedrückt.
  • TBSTATE_WRAP Nach diesem Button erfolgt ein Zeilenumbruch. Der Button muss auch den Status TBSTATE_ENABLED haben.

Rückgabe:

BOOL Status erfolgreich gesetzt.

setButtonText(int ctrlID, const SString& text) BOOL

Verändert den Text des ToolButtons.

Parameter:

ctrlID ID des Buttons dessen Text geändert werden soll
text neuer Text

setToolTip(int btnID, const SString& tiptext) void

Legt für einen Button einen ToolTip-Text fest.

Es erfolgt keine Kontrolle ob ein Button mit diesem ID existiert.

Parameter:

btnID ID des Button, siehe addButon(..)
tiptext anzuzeigender Text

winProcCtrlToolbar(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) LRESULT CALLBACK

Behandlungsroutine für Windows-Nachrichten

Parameter:

hwndMsg Fenster-Handle des Ziels der Nachricht
message Nachrichten-Nummer
wParam Nachrichten-Parameter
lParam Nachrichten-Parameter

Rückgabe:

LRESULT CALLBACK Bearbeitungsergebnis der Nachricht (von Nachricht abhänig)