#include <D_EXTERN.H>
Klassendiagramm für TPlotWindow:
Öffentliche Methoden | |
TPlotWindow (HINSTANCE) | |
Konstruktor. | |
virtual | ~TPlotWindow (void) |
Destruktor. | |
Öffentliche Attribute | |
float | tilesx |
float | tilesy |
Standard Anzahl Abzissenbeschriftungen. | |
int | scrolldxposmin |
Standard Anzahl Ordinatenbeschriftungen. | |
int | scrolldxposmax |
Minimum Abzissenausdehnung. | |
int | scrolldyposmin |
Maximum Abzissenausdehnung. | |
int | scrolldyposmax |
Minimum Ordinatenausdehnung. | |
int | xBorder |
Maximum Ordinatenausdehnung. | |
int | yBorder |
der Rand zur x-Achse | |
WORD | RLdx |
der Rand zur y-Achse | |
WORD | RLdy |
RLdx ist die x-Punkte Ausdehnung. | |
BOOL | bIncreasePP |
RLdy ist die y-Punkte Ausdehnung - einstellbar im Visualising Options Menu. | |
float | MinIntensitaet |
bIncreasePP ist die "groessere Punkte" Einstellmoeglichkeit Visualising Options Menu | |
float | MaxIntensitaet |
TFloatPoint | mPoint1 |
TFloatPoint | mPoint2 |
bool | DataaquisitionActive |
zum Aufzeichnen der Mausbewegungen beim Ziehen einer Linie mit der Maus | |
char | abzisse [_MAXLENUNIT+1] |
Abzissen/Scanachsebeschriftung. | |
TBitmapSource * | BSource |
Zeiger auf zugehoeries Bitmap. | |
Geschützte Methoden | |
virtual BOOL | canNew () |
virtual BOOL | canOpenFile () |
virtual BOOL | canSave () |
virtual HICON | GetIcon (void) const |
virtual HCURSOR | GetCursor (void) const |
welchen Mauscursor in diesem Fenster anzeigen? | |
virtual BOOL | New (void) |
virtual LRESULT | OnCommand (WPARAM, LPARAM) |
virtual void | RenderFormat (WPARAM) |
wenn Darstellungstyp ein Bitmap, dann bereite Zwischenablage vor | |
virtual void | RenderAllFormats (WPARAM) |
raeumt Zwischenablage auf, wenn Besitzer der Zwischenablage tot | |
virtual void | PickUpData (LPARAM) |
sichert Daten in der SecondCurve m_main.cpp im Falle von cm_MoveScanReady | |
virtual void | Paint (HDC, PAINTSTRUCT *) |
Paint wird von EvPaint aufgerufen und automatisch von Windows angefordert, um den Inhalt des Fensters neu anzuzeigen. | |
virtual void | DoCopy (void) |
Kopieren mit Hilfe der Zwischenablage - Typen: CF_DIB, CF_PALETTE. | |
virtual void | SetRanges (void) |
setze neue Koordinatensystembereiche | |
virtual void | lButtonDown (WPARAM, LPARAM) |
behandelt Kommando: linke Maustaste wurde gedrueckt | |
virtual void | MouseMove (WPARAM, LPARAM) |
wenn linke Maustaste gedrueckt gehalten und dabei bewegt wird, wird der Abstand zur Pos. | |
virtual void | lButtonUp (WPARAM, LPARAM) |
gibt Handle zum zeichnen im Kindfenster zurück + linke Maustaste als nicht gedrueckt kennzeichnen | |
virtual void | FreezeCurve (void) |
fixiert die aktuelle Hauptkurve -> setzt Pointer von SecondCurve auf MainCurve | |
virtual void | KillSecondCurve (void) |
setzt SecondCurve auf Initialwerte zurueck (loeschen aller Meßtripel) zeichnet Scan-Fenster neu | |
virtual void | SaveSecondCurve (void) |
speichert fixierte Kurve (SecondCurve) unter auszuwaehlendem Dateinamen mit Extension *.bk | |
virtual void | SetKSProperties (TKSProperties *) |
im Falle von cm_MoveScanReady | |
virtual void | SetLoadFormat (EFileFormat) |
setzt den Filetyp, nach dem Laden von alten Daten | |
virtual double | GetThetaOffset (int) |
Theta-Offset entfernt. | |
virtual BOOL | SetMeasurementArea (TKSystem &) |
fuelle TKSystem mit Standardwerten | |
Geschützte Attribute | |
TCurve * | MainCurve |
TCurve * | SecondCurve |
EOutputType | eOutputType |
gibt Darstellungstyp an | |
TDisplay | VisualDB |
FIX Fehler 39. | |
EFileFormat | eLoadFormat |
beiinhaltet den geladenen FileTyp | |
TCoorSystem | CoorSys |
erstes und alternatives Koordinatensystem | |
TCoorSystem | AltCoorSys |
erstes und alternatives Koordinatensystem | |
BOOL | bAltCoorSystem |
BOOL | bSecondaryCoor |
float | LowerBound |
MinIntensitaet, MaxIntensitaet. | |
float | UpperBound |
MinIntensitaet, MaxIntensitaet. | |
BOOL | bXY_Scaling |
XY-Skalierung an/ aus. |
|
Konstruktor. xST/yST/zST darin als TScaleType (comhead.h) def. gibt beim ersten Aufruf MinIntensitaet vor gibt beim ersten Aufruf MaxIntensitaet vor CoorSys wird in AltCoorSys gesichert Screen - Typ TScreen (m_data.h) SecondCurve - Typ TCurve (m_curve.h) Font - Def. in windows.h<p> setze neue Koordinatensystembereiche setze Bool-Variable bEnablePaint auf TRUE (m_data.h) noch keine alten Daten geladen... zum Aufzeichnen der Mausbewegungen beim Ziehen einer Linie mit der Maus durch einen Aufruf von set_new_handler(0) wird das traditionelle new-Verhalten wiederhergestellt, bei dem keine Exception ausgeloest wird the CreateFontIndirect function creates a logical font that has the characteristics specified in the specified structure wenn ReciprokeLatticeBitmap oder MatrixBitmap dann generiere neues Objekt vom Typ TBitmapSource und rufe Fkt. FormatDBaseToBitmapSource |
|
Destruktor. loesche SecondCurve - Typ TCurve (m_curve.h) |
|
Erneute Implementation von TMDIWindow. |
|
Erneute Implementation von TMDIWindow. |
|
Erneute Implementation von TMDIWindow. |
|
Kopieren mit Hilfe der Zwischenablage - Typen: CF_DIB, CF_PALETTE. schließt die Zwischenablage OpenClipboard(hWnd) - oeffnet die Zwischenablage und hindert andere Anwendungen daran, den Inhalt der Zwischenablage zu veraendern (Ausgabetyp ist nicht Matrix- oder RL Bitmap) oder Zwischenablage geht nicht auf ---> denn zurueck... EmptyClipBoard() - Leert die Zwischenablage und gibt alle Handles auf die Daten der Zwischenablage frei SetClipBoardData(...) - setzt ein Handle auf den Datenblock an der durch handle angezeigten Position Erneute Implementation von TMDIWindow. Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
fixiert die aktuelle Hauptkurve -> setzt Pointer von SecondCurve auf MainCurve
Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
welchen Mauscursor in diesem Fenster anzeigen?
Erneute Implementation von TBasicMDIWindow. |
|
Erneute Implementation von TMDIWindow. Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
Theta-Offset entfernt.
Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
setzt SecondCurve auf Initialwerte zurueck (loeschen aller Meßtripel) zeichnet Scan-Fenster neu Update des ClientWindows durch Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
behandelt Kommando: linke Maustaste wurde gedrueckt setzt den Mausfang auf das aktuelle Fenster ThetaOffset muss in Koordinatenausgabe beruecksichtigt werden Zeile und Spalte im Bitmap berechnen Omega und Theta aus dem "Daten"Feld holen nur die Vorinitialisierung des "Daten"feldes abfangen Zeile und Spalte in der Areascan-Datenbasis holen und Pointer darauf setzen Intensitaet holen Zeile und Spalte in der Areascan-Datenbasis holen und Pointer darauf setzen Intensitaet holen hier Unterscheidung nach benoetigter Genauigkeit eingebaut - Fehler 6 dies defaultmaessig in Statuszeile ausgeben... buf in Statuszeile anzeigen the GetDC function retrieves a handle of a display device context (DC) for the client area of the specified window DragDC - Typ HDC (m_data.h) - Handle auf ein DC (dc.h) switch Anweisung folgt dem, wohin, mit der Maus geklickt wurde bzw welche Optionen an waren... zeige X,Y,Intensitaet,Row,Column in Statuszeile
zur Ausgabe in der Statuszeile Thetaoffset aufaddieren diese Unterscheidung, da 0-dim. andere Datenbasisspeicherung als 1-dim Areascans (ThetaOffset mitgespeichert/nichtgespeichert) Erneute Implementation von TMDIWindow. Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
gibt Handle zum zeichnen im Kindfenster zurück + linke Maustaste als nicht gedrueckt kennzeichnen
Erneute Implementation von TMDIWindow. Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
wenn linke Maustaste gedrueckt gehalten und dabei bewegt wird, wird der Abstand zur Pos. des ersten Mausklicks berechnet Erneute Implementation von TMDIWindow. Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
Erneute Implementation von TMDIWindow. Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
Erneute Implementation von TMDIWindow. Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
Paint wird von EvPaint aufgerufen und automatisch von Windows angefordert, um den Inhalt des Fensters neu anzuzeigen. Windows-Datentyp, der Handles fuer logische Stifte repraesentiert the SIZE structure specifies the width and height of a rectangle nur bei bEnablePaint zeichnen WholeWnd() gibt an, dass für dieses Paint() nicht bPaintPoint gesetzt ist auskommentiert, weil Fkt. UpdateBitmapSource() nicht def. bereitet den Screen vor gibt die Bitmap aus dies und viele folgende Sachen nur im Falle von Kurve zu tun... setze neue Koordinatensystembereiche wenn zweite Kurve nicht leer: Kurve komplett zeichnen 1 < letzter Eintrag + 1 fuellt die Struktur lpPoints mit den Werten fuer eine Kurve... ...um damit spaeter dann die Kurve darzustellen wenn erste Kurve nicht leer: diese [auch] zeichnen 1 < letzter Eintrag + 1 letzter ActualIdx auf Anfang setzt ActualIdx vor-letztes MaxPointIdx fuellt die Struktur lpPoints mit den Werten fuer eine Kurve... ...um damit spaeter dann die Kurve darzustellen 32 bit Zeiger the POINT structure defines the x- and y-coordinates of a point The RECT structure defines the coordinates of the upper left and lower right corners of a rectangle Coorsys.ySF/Coorsys.xSF nochmal neu setzen, da ansonsten falsch Fehler 14 the GetClientRect function retrieves the coordinates of a window's client area steht hier, wird aber nicht gebraucht???! GetClientRect(GetHandle(),(LPRECT)&rect); the SetMapMode function sets the mapping mode of the specified device context (DC) fuellt struct ColorTable & ruft Fkt. DrawColorTable welche Intensitaeten und zugehoerige Farben berechnet und die Legende zu Intensitaetswerten zeichnet the SetMapMode function sets the mapping mode of the specified device context (DC) The SetWindowExtEx function sets the horizontal and vertical extents of the window for a device context by using the specified values The SetViewportExtEx function sets the horizontal and vertical extents of the viewport for a device context by using the specified values The SetWindowOrgEx function sets the window origin of the device context by using the specified coordinates The SetViewportOrgEx function sets the viewport origin of a device context by using the specified coordinates setzt ActualIdx auf pos oder auf MaxPointIdx, wenn pos>MaxPointidx hier ActualIdx=0 folgendes wird mit FastOpen aktualisiert (betrifft Klasse Curve...) BOOL* lpPV; // Zeiger auf Datenfeld von Validate GlobalUnlock(hMemX);GlobalUnlock(hMemY);GlobalUnlock(hMemZ); GlobalUnlock(hMemV);bStreamOpen= FALSE; - Fkt. FastClose(); Erneute Implementation von TMDIWindow. Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
sichert Daten in der SecondCurve m_main.cpp im Falle von cm_MoveScanReady
Erneute Implementation von TMDIWindow. Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
raeumt Zwischenablage auf, wenn Besitzer der Zwischenablage tot
Erneute Implementation von TMDIWindow. Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
wenn Darstellungstyp ein Bitmap, dann bereite Zwischenablage vor
Erneute Implementation von TMDIWindow. Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
speichert fixierte Kurve (SecondCurve) unter auszuwaehlendem Dateinamen mit Extension *.bk ruft eine Save As dialog box auf... Wait-Mauszeiger setzen FileType mit eingefuehrt - TScanWindow.eSaveFormat= bkFile (beim Einlesen) FIX Fehler 2 Diff/Refl setzt Parameter f'r Win-API-Funktion 'FileSave', dazu gehoert Setzen der Extension bzw. Filter und des Dialogbox-Titels + Aufruf der Win-API-Funktion 'FileSave' Test, ob Dateiname ausgewaehlt und ob Datei Extension 'bk' hat, wenn nicht Abbruch erstellen der Datei mit ausgewaehltem Namen + Test, ob dies moeglich wenn nicht, Fehlermeldung + Abbruch an Anfang der Kurve gehen + Speicher der Punkte fixieren setzt ActualIdx auf 0 oder auf MaxPointIdx, wenn pos>MaxPointidx hier ActualIdx=0 folgendes wird mit FastOpen aktualisiert (betrifft Klasse Curve...) BOOL* lpPV; // Zeiger auf Datenfeld von Validate FastPGet(x,y,z) holt Werte der Kurve und setzt ActualIdx++ (m_curve.cpp) Kurve Tripel für Tripel auslesen und zeilenweise in der Datei ablegen Schliežen der Datei + Fixieren des Speichers der Kurve aufheben Wait-Mauszeiger ausschalten GlobalUnlock(hMemX);GlobalUnlock(hMemY);GlobalUnlock(hMemZ); GlobalUnlock(hMemV);bStreamOpen= FALSE; - Fkt. FastClose(); Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
im Falle von cm_MoveScanReady
Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
setzt den Filetyp, nach dem Laden von alten Daten
Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
fuelle TKSystem mit Standardwerten
Hier ist der Graph aller Aufrufe für diese Funktion: ![]() |
|
setze neue Koordinatensystembereiche nur RecipokeLatticeBitmap und MatrixBitmap haben x,y,z Koordinatensystem Erneute Implementation von TMDIWindow. |
|
Abzissen/Scanachsebeschriftung.
|
|
erstes und alternatives Koordinatensystem
|
|
|
|
RLdy ist die y-Punkte Ausdehnung - einstellbar im Visualising Options Menu.
|
|
|
|
Zeiger auf zugehoeries Bitmap.
|
|
XY-Skalierung an/ aus.
|
|
erstes und alternatives Koordinatensystem
|
|
zum Aufzeichnen der Mausbewegungen beim Ziehen einer Linie mit der Maus
|
|
beiinhaltet den geladenen FileTyp
|
|
gibt Darstellungstyp an
|
|
MinIntensitaet, MaxIntensitaet.
|
|
|
|
|
|
bIncreasePP ist die "groessere Punkte" Einstellmoeglichkeit Visualising Options Menu
|
|
|
|
|
|
der Rand zur y-Achse
|
|
RLdx ist die x-Punkte Ausdehnung.
|
|
Minimum Abzissenausdehnung.
|
|
Standard Anzahl Ordinatenbeschriftungen.
|
|
Minimum Ordinatenausdehnung.
|
|
Maximum Abzissenausdehnung.
|
|
|
|
|
|
Standard Anzahl Abzissenbeschriftungen.
|
|
MinIntensitaet, MaxIntensitaet.
|
|
FIX Fehler 39.
|
|
Maximum Ordinatenausdehnung.
|
|
der Rand zur x-Achse
|