<< Gesamtübersicht | << Klassenübersicht | Details der Klasse | Funktionsbeschreibungen |
Ein Fenster. [Mehr ...]
Basisklassen(n) | abgeleitete Klassen | ||||
---|---|---|---|---|---|
SWindow |
|
Attribut | Typ | Beschreibung |
---|---|---|
className | SString | |
eventCalls | SPointerList | Liste mit Zeigern auf SvlEventCallEntry. Enthält alle Zuordungen von Ereignissen zu Funktionen. |
hwnd | HWND | Fenster-Handle |
margin | SRect | Innenabstände für eigene Berechnung des Client-Rects. |
pToolTip | SToolTip* | Zeiger auf ein evt. vorhandenes SToolTip. |
screen | SDevice | Das Darstellungs-Device |
scroll | SScroll | |
wndExStyle | DWORD | Extended Style, mit dem das Fenster erzeugt wird. |
wndStartMenuItemID | HMENU | das zur Fenster-Erzeugung zu verwendende MenuHandle oder bei Dialog-Controls der ItemID |
wndStartRect | SRect | Standardposition und Größe des Fensters |
wndStartText | SString | Fenstertitel |
wndStyle | DWORD | Style, mit dem das Fenster erzeugt wird. |
wndSvlStyle | DWORD | Style, mit SVL-internen Styles. |
Attribut | Typ | Beschreibung |
---|---|---|
anchor | SAnchor | Anker zur automatischen Positionierung. |
backgroundImage | SImage | Hintergrundbild |
cursorCacheH | HCURSOR | Eventuelles Handel eines Cursors, da vom Fensetr verwaltet wird. |
cursorCacheID | int | |
cursorWaitH | HCURSOR | |
cursorWaits | int | Anzahl der Wait-Cursors des Fensters |
isControlWnd | BOOL | Zeigt an, dass das Fenster ein Standard-Windows-Control ist. |
isCreatedState | BOOL | das Fenster wurde erstellt |
isFirstShown | bool | Zeigt an, ob dieses Fenster zum ersten mal sichtbar wird. |
isMetaFileExport | bool | Zeigt an, ob ein MetaFile-Export läuft, um in onPaint darauf reagieren zu können |
isPositioning | BOOL | wird vom Layouter positioniert |
isPrinting | bool | wenn true wird gerade gedruckt, zu verwenden in onPaint() |
lastMessage | Message | letzte Message, die das Fenster empfangen hat |
minSize | SSize | Legt die Mindest-Fenstergröße fest. Wird im Konstruktor mit -1 initialisiert und wenn nicht anders festgelegt bei create() mit der Startgröße belegt. |
modalExitCode | int | Der Rückgabewert, wenn das Fenster modal angezeigt wird. |
modalState | int | Fensterstatus, wenn das Fenster modal geöffnet wurde. Wird intern verwendet. |
pParentWnd | SWindow* | Zeiger zum Parent-Window (Elternfenster; Container in dem sich dieses Fenster befindet) |
timerEnabled | bool | Timer ist aktiv |
wincl | WNDCLASSEX | Klassenname der Fensterklasse der WIN32-API, aus der diese Klasse erstellt wurde |
Name | Parameter | Rückgabewert | Beschreibung |
---|---|---|---|
addToolTip | const SString& tiptext, const SString& titel="", int icon=TT_NO_ICON, int maxWidth=200, BOOL ballonStyle=true |
BOOL | Fügt dem Fenster ein Tooltipp hinzu. |
addToolTipWithTracking | const SString& tiptext, const SString& titel="", int icon=TT_NO_ICON, int maxWidth=200, BOOL ballonStyle=true |
BOOL | Fügt dem Fenster ein Tooltipp hinzu, dass selbst an/ausgeschalten und positioniert wird. |
bringWindowToTop | void | Fenster wird ganz nach oben (vorn) gebracht. | |
clientToScreen | const SPoint& clientPoint | SPoint | Wandelt eine relative Koordinate des Fensters in eine absolute Bildschirmkoordinate um. |
create | SWindow* parent | BOOL | erstellt das Fenster |
createMetaFile | SRectc rect, const SString& filename |
HENHMETAFILE | Erzeugt ein MetaFile mit dem Fensterinhalt. |
destroy | void | Schließt das Fenster. | |
disable | BOOL disable=true | BOOL | deaktiviert das Fenster |
enable | BOOL enable=true | BOOL | Aktiviert das Fenster. |
enableTimer | bool enable | void | Timer aktivieren |
getClientRect | SRect | Liefert ein SRect mit der inneren Größe des Fensters in relativen Koordinaten zurück, also das Rechteck, in dem alle Inhalte des Fensters dargestellt werden. | |
getClientSize | SSize | ||
getEffectiveClientRect | SRect | ||
getEffectiveClientSize | SSize | ||
getParent | SWindow* | ||
getStyle | int | Gibt den aktuellen Windows-Style zurück. | |
getTextLength | int | Gibt die Textlänge des Fenstertextes zurück. | |
getWindowRect | BOOL absolute=false | SRect | Gibt die Position des Fensters relativ innerhalb des Client-Rect des Vaterfensters zurück. |
getWindowText | SString | ||
hasFocus | BOOL | ||
hide | void | Versteckt das Fenster, damit wird es nicht dargestellt und ist durch den Nutzer auch nicht erreichbar. | |
imageLoad | char* filename, int posx, int posy, bool visible |
int | |
invalidate | SRect rect | void | Teilt dem Betriebssysem mit, dass ein Bereich des Fensters ungültig ist. Das Betriebssystem wird diesen Bereich mit Hilfe der 'onPaint()'-Funktion neu zeichnen. |
invalidate | void | Teilt dem Betriebssysem mit, dass dieses Fenster ungültig ist. Das Betriebssystem wird das Fenster mit Hilfe der 'onPaint()'-Funktion neu zeichnen. | |
isControl | BOOL | Ermittelt, ob dieses Fenster ein Control ist. | |
isCreated | BOOL | Ermittelt, ob dieses Fenster bereits mit 'create()' bzw 'createCtrl()' erstellt wurde. | |
isWindow | BOOL | Ermittelt ob das Fenster besteht. | |
isWindowEnabled | BOOL | Ermittelt ob das Fenster aktiv ist, d.h. ob es Eingaben erhalten kann. | |
loadBackgroundImage | const SString& filename, BOOL stretch=true |
bool | Lädt ein Hintergrundbild und zeigt es an. |
messageBox | const SString& text, const SString& titel="Info", UINT style=MB_ICONINFORMATION |
int | Zeigt eine MessageBox an. |
messageHandler | HWND hwndMsg, UINT message, WPARAM wParam, LPARAM lParam, BOOL noDefault=false, LRESULT ret=0 |
LRESULT | Der Message-Handler des Fensters. |
move | int left, int top, int width, int height, BOOL repaint |
BOOL | Verschiebt das Fenster und ändert seine Größe. |
move | SRect rect, BOOL repaint=TRUE |
BOOL | Verschiebt das Fenster und ändert seine Größe. |
SDevice& device, SPrintDok* pPrintDok, int pageNumber=0 |
void | ||
recalcLayout | SSize parentsClientSize | void | Layout des Fensters neu berechnen |
screenToClient | SPoint& screenPoint | SPoint | Wandelt Screen-Koordinaten in Client-Koordinaten um. |
sendMessage | UINT msg, WPARAM wparam, LPARAM lparam |
LRESULT | Sendet eine Nachricht an dieses Fenster. |
sendMessageToClients | UINT message, WPARAM wParam=0, LPARAM lParam=0 |
void | Sendet eine Message an alle Clients. |
setCursor | int cursorID=0 | void | Lädt einen Standard-Cursor. Der letzte Cursor wird gecache und nur wirklich geändert, wenn auch ein neuer Cursor-Wert gesetzt wurde. |
setCursor | HCURSOR hCursor | void | Lädt einen Eigenen-Cursor. |
setFocus | void | das Fenster erhält den Focus | |
setParent | SWindow* newParent | void | Legt das Elternfenster fest. Das Elternfenster und dieses Fenster müssen bereits erzeugt sein und ein hwnd besitzen. |
setStyle | int newStyle | int | Setzt den aktuellen Windows-Style. |
setWaitCursor | BOOL enable=true | void | Schaltet den Warten-Cursor (Sanduhr) ein/aus. |
setWindowText | const SString& text | void | Speichert einen neuen Titeltext. |
show | int nWindowStyle=SW_RESTORE | void | Zeigt ein Fenster an, das im Hintergrund liegt oder mit 'hide()' ausgeblendet wurde. |
showModal | BOOL hideParent=false | int | Zeigt das Fenster Modal an, d.h. es werden alle Eingaben zum Parent-Window unterbunden und erst nach dem Schließen des Fensters zurückgekehrt. |
trackMouseEvent | BOOL forLeave, BOOL forHover=false |
void | Installiert die Mausüberwachung für das Verlassen des Clientbereiches und/oder Halten der Maus über dem Clientbereich. |
translateAccelerator | HWND hwndMsg, UINT message, WPARAM wParam, LPARAM lParam |
BOOL | Verarbeitet KEY-Messages als Accelerator. |
winProc | HWND hwndMsg, UINT message, WPARAM wParam, LPARAM lParam |
LRESULT | Leitet ankommende Windows-Messages an den Message-Handler weiter. |
Name | Parameter | Rückgabewert | Beschreibung |
---|---|---|---|
construct | void | Teil des Konstruktors | |
createWindow | SWindow* parent | BOOL | Erstellt das Fenster. |
doEventCalls | HWND hwndMsg, UINT message, WPARAM wParam, LPARAM lParam |
void | Verarbeitet die mit '_AddEventCall_...' zugeordneten Ereignisse eines Fensters. |
onCapturedMessage | HWND msgHwnd, UINT msg, WPARAM wParam, LPARAM lParam, void* pData |
void | Diese Funktion wird ausgelöst, wenn eine Nachrichten-Kopie erhalten wurde. Die übergebenen Parameter sind die Daten der Originalnachricht, pData ist der bei addCapturedMessage übergebene Wert. |
onClose | BOOL | Behandlungsroutine für das Schließen-Ereignis. | |
onCommand | WPARAM idItem, HWND hwndCtrl, WORD notifyCode |
void | Behandlungsroutine für das Empfangen einer Nachricht von einem Control. |
onContextMenu | int xpos, int ypos | BOOL | Wird durch Shift+F10 oder (sofern programmiert) durch die rechte Maustaste ausgelöst. |
onCreate | CREATESTRUCT* createInfo | void | Tritt ein, nach dem Erzeugen, aber bevor es sichtbar wird. |
onEraseBackground | SDevice& screen | BOOL | Wird aufgerufen, wenn während des Neuzeichnens der Hintergrund gelöscht wird. |
onHelp | LPHELPINFO pHelpInfo | BOOL | Dieses Ereignis wird ausgelöst, wenn F1 gedrückt wurde. |
onHide | void | Dieses Ereignis wird beim horizontalen Scrollen des Fensters ausgelöst. | |
onInitWindow | void | Wird vor dem ersten Darstellen (WM_SHOWWINDOW) ausgelöst. | |
onKeyChar | WORD ascii, char scan, int vkeyCode, BOOL first |
BOOL | Wird beim Drücken oder Wiederholen (wegen langem Halten) einer Taste aufgerufen. |
onKeyDown | WORD ascii, char scan, int vkeyCode, BOOL first |
BOOL | Wird beim drücken oder wiederholen (wegen langen halten) einer Taste aufgerufen. |
onLButtonDblClick | WORD keys, int xpos, int ypos |
void | Behandlungsroutine für den Doppelklick mit der linken Maustaste. |
onLButtonDown | WORD keys, int xpos, int ypos |
void | Behandlungsroutine für das Drücken der linken Maustaste. |
onLButtonUp | WORD keys, int xpos, int ypos |
void | Behandlungsroutine für das Loslassen der linken Maustaste. |
onMouseHover | int keys | void | Wird ausgelöst, wenn die Maus eine gewisse Zeit über den Clientbereich gehalten wird. |
onMouseLeave | void | Wird ausgelöst, wenn die Maus den Clientbereich verlassen hat. | |
onMouseMove | WORD keys, int x, int y | void | Wird ausgelöst, wenn die Maus über den Clientbereich bewegt wird. |
onMouseWheel | int pressedKeys, int distance, int screenX, int screenY |
BOOL | Tritt ein wenn am Mausrad gedreht wurde. |
onNotify | int ctrlID, HWND ctrlHwnd, int notifyCode, NMHDR* pNotifyInfo |
LRESULT | Wird ausgelöst, wenn ein Control das innerhalb dieses Fensters ist (=ein Child) eine Notify-Ereignis sendet. |
onNotifyToolTip | int notifyCode, NMHDR * pNMHDR |
LRESULT | Wird vor dem Anzeigen und beim Schließen des ToolTipps gerufen. |
onNotifyToolTip_needText | char* | Wird vor dem Anzeigen des ToolTipps gerufen um den Text eventuell neu festzulegen. | |
onPaint | SDevice& screen | void | Behandlungsroutine für das Neuzeichnen des Fensters. |
onPaintImages | SDevice& screen | void | Behandlungsroutine für das Neuzeichnen des Hintergrundbildes. |
onPreCreateWindow | void | Hier sollten die letzten Einstellung vor der Erzeugung des Fensters vorgenommen werden, wie z.B. Fenstertitel und Anfangsgröße. | |
onPrint | SDevice& device, SPrintDok* pPrintDok, int pageNumber=0 |
void | |
onRButtonDblClick | WORD keys, int xpos, int ypos |
void | Behandlungsroutine für den Doppelklick mit der rechten Maustaste. |
onRButtonDown | WORD keys, int xpos, int ypos |
void | Behandlungsroutine für das Drücken der rechten Maustaste. |
onRButtonUp | WORD keys, int xpos, int ypos |
void | Behandlungsroutine für das Loslassen der rechten Maustaste. |
onScrollHor | void | Dieses Ereignis wird beim horizontalen Scrollen des Fensters ausgelöst. | |
onScrollVert | void | Dieses Ereignis wird beim vertikalen Scrollen des Fensters ausgelöst. | |
onSetFocus | HWND oldFocusWindow | void | Wird ausgelöst, wenn das Fenster den Focus erhält. |
onShow | void | Dieses Ereignis wird beim horizontalen Scrollen des Fensters ausgelöst. | |
onSize | int type, int clientWidth, int clientHeight |
void | Behandlungsroutine für Größenänderungen des Fensters. |
onSizing | int type, RECT* pRect | void | Wird ausgelöst während der Größenänderung des Fensters. |
onTimer | DWORD curTime | void | Tritt alle 1/100 Sekunden ein. |
Ein Fenster.
Diese Klasse dient als Basisklasse für alle sichtbaren Elemente in der SVL.
Die Erstellung eines Elements dieser Klasse erfolgt immer in zwei Schritten. Zuerst wird das Objekt selbst angelegt, als Member einer anderen Klasse oder bei Bedarf per Deklaration/new-Oberator erzeugt. Das Objektregistriert sich dabei im globalen Application-Objekt theApp. Die erste dort registrierte Instanz einer von SWindow abgeleiteten Klasse wird automatisch als Hauptfenster der Anwendung angesehen und beim Programmstart erstellt. Im zweiten Schritt werden die Anzeigeeigenschaften gesetzt, sofern sie sich von den Standardwerten unterscheiden. Zum Schluß wird das Fenster im Betriebssysten mit den gewählten Eigenschaften registriert, sodass es sichtbar wird.
Üblicherweise werden von SWindow abgeleitete Klassen benutzt. Zur Demonstration hier jedoch ein Beispiel, das SWindow direkt verwendet.
// Instanz erzeugen SWindow optionen; //Konfigurieren optionen.wndStartText = "Optionen"; optionen.wndStartRect = SRect(100,100,300,500); // Fenster im BS erzeugen optionen.create(this); // anzeigen optionen.showModal();Bei einer abgeleiteten Klasse sollten die Einstellungen, die das Fenster betreffen hier 'wndStartText' und 'wndStartRect' in der Memberfunktion 'onPreCreateWindow()' vorgenommen werden.
addToolTip(const SString& tiptext, const SString& titel="", int icon=TT_NO_ICON, int maxWidth=200, BOOL ballonStyle=true) BOOL |
![]() ![]() |
Fügt dem Fenster ein Tooltipp hinzu.
btnEnde.createCtrl(this,"Ende",-100,-30); _AddEventCall_OnCommand(btnEnde.getID(),destroy) SString txt = "Hier geht das ganze Fenster zu und ist dann weg. "; txt *= "Es ist dann wirklich weg und geht auch nicht wieder allein auf."; btnEnde.addToolTip(txt, "Der Button der das Ende der Anwendung bedeutet",TT_WARN_ICON);oder:
btnEnde.createCtrl(this,"Ende",-100,-30); _AddEventCall_OnCommand(btnEnde.getID(),destroy) btnEnde.addToolTip("schließt die Anwendung");
tiptext | darzustellender Text |
titel | optionaler Titel des Tipps |
icon | optional darzustellendes Icon
|
maxWidth | maximale Breite in Pixeln, für Umbruch und Mehrzeiligkeit, wenn 0 wird keine Breite festgelegt und der Tooltip ist einzeilig |
addToolTipWithTracking(const SString& tiptext, const SString& titel="", int icon=TT_NO_ICON, int maxWidth=200, BOOL ballonStyle=true) BOOL |
![]() ![]() |
Fügt dem Fenster ein Tooltipp hinzu, dass selbst an/ausgeschalten und positioniert wird.
////////////// onMouseMove ///////////////////// pToolTip->trackingShow(1); // Anzeige einschalten SPoint p=clientToScreen(SPoint(x,y)); pToolTip->trackingMove(p); // bewegen pToolTip->setText("x="+SString::toString(x)+"\r\ny="+SString::toString(y)); // Text ändernzum Ausschalten bei Verlassen des Clintbereiches sollte trackMouseEvent() und onMouseLeave() verwendet werden
tiptext | darzustellender Text |
titel | optionaler Titel des Tipps |
icon | optional darzustellendes Icon
|
maxWidth | maximale Breite in Pixeln, für Umbruch und Mehrzeiligkeit, wenn 0 wird keine Breite festgelegt und der Tooltip ist einzeilig |
bringWindowToTop() void |
![]() ![]() |
Fenster wird ganz nach oben (vorn) gebracht.
clientToScreen(const SPoint& clientPoint) SPoint |
![]() ![]() |
Wandelt eine relative Koordinate des Fensters in eine absolute Bildschirmkoordinate um.
clientPoint | relatve Koordinate |
construct() void |
![]() ![]() |
Teil des Konstruktors
create(SWindow* parent) BOOL |
![]() ![]() |
erstellt das Fenster
parent | Elternfenster; Container in dem sich das Fenster befindet |
createMetaFile(SRectc rect, const SString& filename) HENHMETAFILE |
![]() ![]() |
Erzeugt ein MetaFile mit dem Fensterinhalt.
hmf muss mit DeleteEnhMetaFile(hmf) freigegeben werden.
HENHMETAFILE hmf=createMetaFile(SRect(),""); // in RAM if ( hmf!=NULL && OpenClipboard(hwnd) ) { EmptyClipboard(); SetClipboardData(CF_ENHMETAFILE,hmf); //place it on the clipboard CloseClipboard(); } DeleteEnhMetaFile(hmf);
rect | Ausschnitt der exportiert werden soll, oder rect.height=0 bzw. rect.width=0 für alles |
filename | Dateiname (*.emf), wenn Leer wird es im RAM erzeugt |
HENHMETAFILE | NULL wenn Fehler |
HENHMETAFILE | oder bei Dateiname 0xFFFFFFFF |
HENHMETAFILE | oder Handle auf MetaFile (muss mit DeleteEnhMetaFile(hmf) freigegeben werden) |
createWindow(SWindow* parent) BOOL |
![]() ![]() |
Erstellt das Fenster.
Kann überschrieben werden um eine eigene Erstellungsroutine zu verwenden.
parent | Elternfenster; Container in dem sich das Fenster befindet |
destroy() void |
![]() ![]() |
Schließt das Fenster.
Wenn onClose() false zurückliefert, wird das Schhließen verhindert.
disable(BOOL disable=true) BOOL |
![]() ![]() |
deaktiviert das Fenster
disable | deaktivieren (wenn false -> fenster wird aktiviert) |
BOOL | Fenster war vorher deaktiviert |
doEventCalls(HWND hwndMsg, UINT message, WPARAM wParam, LPARAM lParam) void |
![]() ![]() |
Verarbeitet die mit '_AddEventCall_...' zugeordneten Ereignisse eines Fensters.
hwndMsg | Fenster-Handle des Fensters, das die Message erhalten soll. |
message | die Message(-nummer) |
wParam | 1. Messageparameter |
lParam | 2. Messageparameter |
enable(BOOL enable=true) BOOL |
![]() ![]() |
Aktiviert das Fenster.
enable | aktivieren (wenn false -> Fenster deaktivieren) |
BOOL | Fenster war vorher aktiviert |
enableTimer(bool enable) void |
![]() ![]() |
Timer aktivieren
enable | Timer soll aktiviert werden. |
getClientRect() SRect |
![]() ![]() |
Liefert ein SRect mit der inneren Größe des Fensters in relativen Koordinaten zurück, also das Rechteck, in dem alle Inhalte des Fensters dargestellt werden.
SRect | inneres Rechteck des Fensters |
getClientSize() SSize |
![]() ![]() |
SSize | Größe des Client-Bereichs des Fensters |
getEffectiveClientRect() SRect |
![]() ![]() |
getEffectiveClientSize() SSize |
![]() ![]() |
getParent() SWindow* |
![]() ![]() |
SWindow* | Zeiger auf das Elternfenster |
getStyle() int |
![]() ![]() |
Gibt den aktuellen Windows-Style zurück.
getTextLength() int |
![]() ![]() |
Gibt die Textlänge des Fenstertextes zurück.
getWindowRect(BOOL absolute=false) SRect |
![]() ![]() |
Gibt die Position des Fensters relativ innerhalb des Client-Rect des Vaterfensters zurück.
Wenn kein Vaterfenster existiert wird die absolute Fensterposion zurückgegeben.
absolute | true, gibt immer absolute Koordinaten zurück |
getWindowText() SString |
![]() ![]() |
SString | Titeltext des Fensters |
hasFocus() BOOL |
![]() ![]() |
hide() void |
![]() ![]() |
Versteckt das Fenster, damit wird es nicht dargestellt und ist durch den Nutzer auch nicht erreichbar.
imageLoad(char* filename, int posx, int posy, bool visible) int |
![]() ![]() |
0 | nicht geladen |
>0 | id des Images |
invalidate(SRect rect) void |
![]() ![]() |
Teilt dem Betriebssysem mit, dass ein Bereich des Fensters ungültig ist. Das Betriebssystem wird diesen Bereich mit Hilfe der 'onPaint()'-Funktion neu zeichnen.
rect | ungültiger, nue zu zeichnender Bereich in Screen-Koordinaten |
invalidate() void |
![]() ![]() |
Teilt dem Betriebssysem mit, dass dieses Fenster ungültig ist. Das Betriebssystem wird das Fenster mit Hilfe der 'onPaint()'-Funktion neu zeichnen.
isControl() BOOL |
![]() ![]() |
Ermittelt, ob dieses Fenster ein Control ist.
isCreated() BOOL |
![]() ![]() |
Ermittelt, ob dieses Fenster bereits mit 'create()' bzw 'createCtrl()' erstellt wurde.
isWindow() BOOL |
![]() ![]() |
Ermittelt ob das Fenster besteht.
Das heißt es muss erfolgreich erzeugt und nicht geschlossen worden sein.
BOOL | Fenster ist vorhanden |
isWindowEnabled() BOOL |
![]() ![]() |
Ermittelt ob das Fenster aktiv ist, d.h. ob es Eingaben erhalten kann.
BOOL | Fenster ist aktiv |
loadBackgroundImage(const SString& filename, BOOL stretch=true) bool |
![]() ![]() |
Lädt ein Hintergrundbild und zeigt es an.
filename | Dateiname des Bildes |
stretch | Soll das Bild an die Fenstergröße angepasst werden. |
bool | Laden erfolgreich. |
messageBox(const SString& text, const SString& titel="Info", UINT style=MB_ICONINFORMATION) int |
![]() ![]() |
Zeigt eine MessageBox an.
text | Inhalt der MessageBox |
titel | Text der Titelzeile |
style | gewünscht Schaltflächen und Icons
|
int | der gedrückte Button
|
messageHandler(HWND hwndMsg, UINT message, WPARAM wParam, LPARAM lParam, BOOL noDefault=false, LRESULT ret=0) LRESULT |
![]() ![]() |
Der Message-Handler des Fensters.
Diese Funktion wird immer aufgerufen, wenn das Fenster eine Message vom Betriebssystem erhält. Hier wird entschieden auf welche Nachricht das Fenster wie reagieren soll.
hwndMsg | Fenster-Handle des Fensters, das die Nachricht erhalten soll |
message | Nachrichtennummer |
wParam | Parameter der Nachricht |
lParam | Parameter der Nachricht |
noDefault | Windows-Standard-Nachrichtenbehandlung deaktivieren. |
LRESULT | abhänig von der übermittelten Nachricht |
move(int left, int top, int width, int height,BOOL repaint) BOOL |
![]() ![]() |
Verschiebt das Fenster und ändert seine Größe.
Die Angaben beziehen sich relativ zum Elternfenster. Wenn es kein WS_CHILD ist, so sind die Angaben auf den Bildschirm bezogen.
left | Abstand von Links |
top | Abstand von oben |
width | Breite |
height | Höhe |
repaint | Nach Verschieben neu zeichnen |
move(SRect rect, BOOL repaint=TRUE) BOOL |
![]() ![]() |
Verschiebt das Fenster und ändert seine Größe.
Die Angaben beziehen sich relativ zum Elternfenster. Wenn es kein WS_CHILD ist, so sind die Angaben auf den Bildschirm bezogen.
rect | Größe und Position |
repaint | Nach Verschieben neu zeichnen |
onCapturedMessage(HWND msgHwnd, UINT msg, WPARAM wParam, LPARAM lParam, void* pData) void |
![]() ![]() |
Diese Funktion wird ausgelöst, wenn eine Nachrichten-Kopie erhalten wurde. Die übergebenen Parameter sind die Daten der Originalnachricht, pData ist der bei addCapturedMessage übergebene Wert.
onClose() BOOL |
![]() ![]() |
Behandlungsroutine für das Schließen-Ereignis.
BOOL | true wenn das Fenster gschlossen werden darf, false wenn das Schließen nicht gestattet ist |
onCommand(WPARAM idItem, HWND hwndCtrl, WORD notifyCode) void |
![]() ![]() |
Behandlungsroutine für das Empfangen einer Nachricht von einem Control.
idItem | ID des sendende Controls |
hwndCtrl | Fenster-Handle des Controls |
notifyCode | Nachrichtennummer |
onContextMenu(int xpos, int ypos) BOOL |
![]() ![]() |
Wird durch Shift+F10 oder (sofern programmiert) durch die rechte Maustaste ausgelöst.
Bei Shift+F10 sind die Koordianten -1.
xpos | x-Position des Ereignisses in Bildschirm-Koordianten |
ypos | y-Position des Ereignisses in Bildschirm-Koordianten |
BOOL | true wenn behandelt |
onCreate(CREATESTRUCT* createInfo) void |
![]() ![]() |
Tritt ein, nach dem Erzeugen, aber bevor es sichtbar wird.
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.
Wenn screen.noFlicker=true wird diese Funktion nicht aufgerufen.
screen | aktuelles Bildschirm-Device des Fensters. |
BOOL | Der Hintergrund wird vom Programm selbst verwaltet. |
onHelp(LPHELPINFO pHelpInfo) BOOL |
![]() ![]() |
Dieses Ereignis wird ausgelöst, wenn F1 gedrückt wurde.
pHelpInfo | Zeiger auf Struktur mit weiteren Informationen |
BOOL | true wenn behandelt |
onHide() void |
![]() ![]() |
Dieses Ereignis wird beim horizontalen Scrollen des Fensters ausgelöst.
onInitWindow() void |
![]() ![]() |
Wird vor dem ersten Darstellen (WM_SHOWWINDOW) ausgelöst.
onKeyChar(WORD ascii, char scan, int vkeyCode, BOOL first) BOOL |
![]() ![]() |
Wird beim Drücken oder Wiederholen (wegen langem Halten) einer Taste aufgerufen.
ascii | ASCII-Code der Taste, wenn verfügbar |
scan | SCAN-Code der Taste, wenn verfügbar |
vkeyCode | virtual KeyCode, z.B. VK_ESC, VK_TAB, VK_1 |
first | true, wenn die Taste erstmals gedrückt wird |
BOOL | true wenn bearbeitet, false wenn nicht bearbeitet |
onKeyDown(WORD ascii, char scan, int vkeyCode, BOOL first) BOOL |
![]() ![]() |
Wird beim drücken oder wiederholen (wegen langen halten) einer Taste aufgerufen.
So können mehrfach onKeyDown(..) folgen bis ein onKeyUp(..) erfolgt.
BOOL isControl=GetKeyState(VK_CONTROL) & 0x80; BOOL isShift=GetKeyState(VK_SHIFT) & 0x80; //////// Taste Strg+F9 //////// if(vkeyCode==VK_F9 && isControl) { ...... }
ascii | ASCII-Code der Taste, wenn verfügbar |
scan | SCAN-Code der Taste, wenn verfügbar |
vkeyCode | virtual KeyCode, z.B. VK_ESC, VK_TAB, VK_1 |
first | true, wenn die Taste erstmals gedrückt wird |
BOOL | true wenn bearbeitet, false wenn nicht bearbeitet |
onLButtonDblClick(WORD keys, int xpos, int ypos) void |
![]() ![]() |
Behandlungsroutine für den Doppelklick mit der linken Maustaste.
xpos | Client-X-Koordinate des Ereignisses |
ypos | Client-Y-Koordinate des Ereignisses |
keys | Tastenstatus
|
onLButtonDown(WORD keys, int xpos, int ypos) void |
![]() ![]() |
Behandlungsroutine für das Drücken der linken Maustaste.
xpos | Client-X-Koordinate des Ereignisses |
ypos | Client-Y-Koordinate des Ereignisses |
keys | Tastenstatus
|
onLButtonUp(WORD keys, int xpos, int ypos) void |
![]() ![]() |
Behandlungsroutine für das Loslassen der linken Maustaste.
xpos | Client-X-Koordinate des Ereignisses |
ypos | Client-Y-Koordinate des Ereignisses |
keys | Tastenstatus
|
onMouseHover(int keys) void |
![]() ![]() |
Wird ausgelöst, wenn die Maus eine gewisse Zeit über den Clientbereich gehalten wird.
siehe: trackMouseEvent(..)
keys | eine Kombination von:
|
onMouseLeave() void |
![]() ![]() |
Wird ausgelöst, wenn die Maus den Clientbereich verlassen hat.
siehe: trackMouseEvent(..)
onMouseMove(WORD keys, int x, int y) void |
![]() ![]() |
Wird ausgelöst, wenn die Maus über den Clientbereich bewegt wird.
x | Client-X-Koordinate des Ereignisses |
y | Client-Y-Koordinate des Ereignisses |
keys | Tastenstatus
|
onMouseWheel(int pressedKeys, int distance, int screenX, int screenY) BOOL |
![]() ![]() |
Tritt ein wenn am Mausrad gedreht wurde.
pressedKeys | gedrückte Tasten, eine Kombination von
|
distance | Richtung und Entfernung, positiv ist nach oben (weg vom Nutzer) und negativ nach unten (hin zum Nutzer), der Betrag ist die Entfernung |
screenX | X-Position auf dem Bildschirm, wo das Ereignis eintrat |
screenY | Y-Position auf dem Bildschirm, wo das Ereignis eintrat |
BOOL | true wenn behandelt |
onNotify(int ctrlID, HWND ctrlHwnd, int notifyCode, NMHDR* pNotifyInfo) LRESULT |
![]() ![]() |
Wird ausgelöst, wenn ein Control das innerhalb dieses Fensters ist (=ein Child) eine Notify-Ereignis sendet.
ctrlID | ID des Controls |
ctrlHWND | Fenster-Handle des Controls |
notifyCode | Nachrichtennummer |
pNotifyInfo | Zeiger auf den Notification Message Header der Nachricht |
onNotifyToolTip(int notifyCode, NMHDR * pNMHDR) LRESULT |
![]() ![]() |
Wird vor dem Anzeigen und beim Schließen des ToolTipps gerufen.
Bei TTN_NEEDTEXT kann hier die Position festgelegt werden.
notifyCode | wenn TTN_SHOW wird gleich der ToolTipp angezeigt, wenn TTN_POP wird der ToolTip geschlossen |
LRESULT | true bei TTN_SHOW bedeutet dass die Positionierung selbst mittels SetWindowPos(..) erfolgte. |
onNotifyToolTip_needText() char* |
![]() ![]() |
Wird vor dem Anzeigen des ToolTipps gerufen um den Text eventuell neu festzulegen.
Mittels pToolTip->hide() kann eine Anzeige verhindert werden.
..onNotifyToolTip_needText() { static SString tiptext; char* pTipText=NULL; // wenn kein Tip angezeigt werden soll if (noTip) pToolTip->hide(); // wenn ein abweichender Text angezeigt werden soll else if ( !specialtext.isEmpty() ) { tiptext=specialtext; pTipText=tiptext.getBuffer(); } return pTipText; }
char* | NULL wenn kein Text geändert werden soll, sonst die Adresse der Textes. |
onPaint(SDevice& screen) void |
![]() ![]() |
Behandlungsroutine für das Neuzeichnen des Fensters.
screen | Device auf dem gezeichnet werden soll |
onPaintImages(SDevice& screen) void |
![]() ![]() |
Behandlungsroutine für das Neuzeichnen des Hintergrundbildes.
screen | Device auf dem gezeichnet werden soll |
onPreCreateWindow() void |
![]() ![]() |
Hier sollten die letzten Einstellung vor der Erzeugung des Fensters vorgenommen werden, wie z.B. Fenstertitel und Anfangsgröße.
Wird in create(..) vor der Erzeugung des Fensters aufgerufen.
wndStartText="Mein Programm mit SVL";
wndStartRect.width=500;
wndStartRect.height=500;
wndStartRect.left=10;
wndStartRect.top=10;
onPrint(SDevice& device, SPrintDok* pPrintDok, int pageNumber=0) void |
![]() ![]() |
onRButtonDblClick(WORD keys, int xpos, int ypos) void |
![]() ![]() |
Behandlungsroutine für den Doppelklick mit der rechten Maustaste.
xpos | Client-X-Koordinate des Ereignisses |
ypos | Client-Y-Koordinate des Ereignisses |
keys | Tastenstatus
|
onRButtonDown(WORD keys, int xpos, int ypos) void |
![]() ![]() |
Behandlungsroutine für das Drücken der rechten Maustaste.
xpos | Client-X-Koordinate des Ereignisses |
ypos | Client-Y-Koordinate des Ereignisses |
keys | Tastenstatus
|
onRButtonUp(WORD keys, int xpos, int ypos) void |
![]() ![]() |
Behandlungsroutine für das Loslassen der rechten Maustaste.
xpos | Client-X-Koordinate des Ereignisses |
ypos | Client-Y-Koordinate des Ereignisses |
keys | Tastenstatus
|
onScrollHor() void |
![]() ![]() |
Dieses Ereignis wird beim horizontalen Scrollen des Fensters ausgelöst.
onScrollVert() void |
![]() ![]() |
Dieses Ereignis wird beim vertikalen Scrollen des Fensters ausgelöst.
onSetFocus(HWND oldFocusWindow) void |
![]() ![]() |
Wird ausgelöst, wenn das Fenster den Focus erhält.
oldFocusWindow | Fenster dass den Focus verloren hat, kann NULL sein |
onShow() void |
![]() ![]() |
Dieses Ereignis wird beim horizontalen Scrollen des Fensters ausgelöst.
onSize(int type, int clientWidth, int clientHeight) void |
![]() ![]() |
Behandlungsroutine für Größenänderungen des Fensters.
type | kann eines von folgenden sein:
|
clientWidth | neue Client-Breite |
clientHeight | neuen Client-Höhe |
onSizing(int type, RECT* pRect) void |
![]() ![]() |
Wird ausgelöst während der Größenänderung des Fensters.
Es kann in das RECT zurückgeschrieben werden.
type | welcher Rand wird verändert, eins von:
|
pRect | Zeiger auf das aktuelle Rechteck mit den Screen-Koordinaten. |
onTimer(DWORD curTime) void |
![]() ![]() |
Tritt alle 1/100 Sekunden ein.
curTime | Anzahl der Millisekunden seit Start des Systems. |
print(SDevice& device, SPrintDok* pPrintDok, int pageNumber=0) void |
![]() ![]() |
recalcLayout(SSize parentsClientSize) void |
![]() ![]() |
Layout des Fensters neu berechnen
parentsClientSize | Größe des Elternfensters |
screenToClient(SPoint& screenPoint) SPoint |
![]() ![]() |
Wandelt Screen-Koordinaten in Client-Koordinaten um.
screenPoint | umzuwandelnder Punkt mit absoluten Koordinaten |
SPoint | Punkt in relativen Koordinaten, bei Fehler wird der übergebene Wert wieder zurückgeben. |
sendMessage(UINT msg, WPARAM wparam, LPARAM lparam) LRESULT |
![]() ![]() |
Sendet eine Nachricht an dieses Fenster.
msg | Nachrichtennummer |
wparam | Nachrichtenparameter |
lparam | Nachrichtenparameter |
sendMessageToClients(UINT message, WPARAM wParam=0, LPARAM lParam=0) void |
![]() ![]() |
Sendet eine Message an alle Clients.
message | Nachrichtennummer |
wparam | Nachrichtenparameter |
lparam | Nachrichtenparameter |
setCursor(int cursorID=0) void |
![]() ![]() |
Lädt einen Standard-Cursor. Der letzte Cursor wird gecache und nur wirklich geändert, wenn auch ein neuer Cursor-Wert gesetzt wurde.
cursorID | Null für setzen des letzten Cursors aus dem Cache, oder eine Konstante von:
|
setCursor(HCURSOR hCursor) void |
![]() ![]() |
Lädt einen Eigenen-Cursor.
hCursor | Handle für einen Cursor, z.B. von LoadCursorFromFile(..) |
setFocus() void |
![]() ![]() |
das Fenster erhält den Focus
setParent(SWindow* newParent) void |
![]() ![]() |
Legt das Elternfenster fest. Das Elternfenster und dieses Fenster müssen bereits erzeugt sein und ein hwnd besitzen.
newParent | Zeiger auf das neue Elternfenster oder NULL wenn es das Desktop-Fenster sein soll. |
setStyle(int newStyle) int |
![]() ![]() |
Setzt den aktuellen Windows-Style.
newStyle | neuer Style |
int | bisheriger Style |
setWaitCursor(BOOL enable=true) void |
![]() ![]() |
Schaltet den Warten-Cursor (Sanduhr) ein/aus.
enable | wenn true wird der OCR_WAIT-Cursor gesetzt, sonst OCR_NORMAL |
setWindowText(const SString& text) void |
![]() ![]() |
Speichert einen neuen Titeltext.
text | neuer Text |
show(int nWindowStyle=SW_RESTORE) void |
![]() ![]() |
Zeigt ein Fenster an, das im Hintergrund liegt oder mit 'hide()' ausgeblendet wurde.
Falls noch nicht erzeugt, wird der WS_VISIBLE in wndStyle für die Erzeugung des Fensters geschalten.
nWindowStyle | wie soll das Fenster angezeigt werden,z.B.:
|
showModal(BOOL hideParent=false) int |
![]() ![]() |
Zeigt das Fenster Modal an, d.h. es werden alle Eingaben zum Parent-Window unterbunden und erst nach dem Schließen des Fensters zurückgekehrt.
hideParent | Elternfenster ausblenden |
int | Inhalt der Member 'modalExitCode', bei SDialog z.B. IDOK oder IDCANCEL |
trackMouseEvent(BOOL forLeave, BOOL forHover=false) void |
![]() ![]() |
Installiert die Mausüberwachung für das Verlassen des Clientbereiches und/oder Halten der Maus über dem Clientbereich.
Diese Überwachung gilt nur bis zum Eintreten des Ergebnisses, danach muss es neu installiert werden.
Es wird onMouseLeave() bzw onMouseHover() ausgelöst.
Es ist auch möglich nur eines der beiden Ereignisse zu überwachen.
forLeave | soll das Verlassen des Clientbereichs überwacht werden |
forHover | soll das Halten der Maus über dem Clientbereich überwacht werden |
translateAccelerator(HWND hwndMsg, UINT message, WPARAM wParam, LPARAM lParam) BOOL |
![]() ![]() |
Verarbeitet KEY-Messages als Accelerator.
BOOL | Taste wurde verarbeitet. |
winProc(HWND hwndMsg, UINT message, WPARAM wParam, LPARAM lParam) LRESULT |
![]() ![]() |
Leitet ankommende Windows-Messages an den Message-Handler weiter.
<< Gesamtübersicht | << Klassenübersicht | Details der Klasse | Funktionsbeschreibungen |