grafische Aufzeichnung von Messwerten
-
Hallo,
ich habe folgendes Problem: Ich empfange über mein Programm (dialogbasierende Anwendung) Messwerte, die ich zum Einen speichere, aber zum anderen auch über die Zeit in einem Koordinatensystem kontinuierlich auftragen möchte. Das ganze soll einige Stunden laufen, daher müsste die Grafik horizontal über ein Scrollbar erweiterbar sein.
Hättet ihr da vielleicht eine Idee, wie ich das am besten realisieren kann? Lieg ich damit richtig eine FormView-Ressource mit Basisklasse CScrollView anzulegen und dann darin die Zeichnung zu machen?
Vielen Dank im voraus
Gruß Tony
-
Zeichnen kannst du überall dort, wo du einen Gerätekontext (Device Context = DC) herbekommst. Und das ist z.B. bei allen Klassen der Fall, die von CView abgeleitet sind. GetDC() ist z.B. eine Methode, die dir den DC zurück gibt.
-
Ich habe ja auch schon probiert da irgendwas hinzubekommen, aber das scheitert bei mir meist schon am Anfang, wenn ich versuche das Fenster, in dem ich Zeichnen will, zu öffnen. Habe mich bisher größtenteils nur mit CDialog-Klassen rumgeschlagen, was die Fensterverwaltung angeht. Gibts da große Unterschiede?
Gruß Tony
-
Alternativ wäre auch noch die Möglichkeit den Darstellungsbereich dynamisch zu erweitern und auf eine Scrollbar zu verzichten. Du zeichnest ja die Werte eh auf und wenns einer genau wissen will sind exel und co sicherlich eh besser geeignet. Außerdem sieht das in der Darstellung verdammt gut aus

just my 2 cents
-
Also, du sagst ja, du hast eine Dialogbasierte Anwendung: Pack ein StaticCtrl in deinen Dialog, gib dem Ding ne eindeutige ID, also bsw nicht wie standart mäßig IDC_STATIC sondern bsw. IDC_GRAPH. Dann noch eine Membervariable dazu anlegen. FERTIG!
Dann leitest du eine Klasse von CStatic ab. Da schreibst du dir dann eine schöne Paint funktion in die OnPaint()... fertig ist dein Graph.
Wo ist das Problem?! Aja... wenn du es garnet schaffst: http://www.codeproject.com/miscctrl/