Zum Inhalt springen

Zugriff auf ActiveX Steuerelement


Coyote03

Empfohlene Beiträge

Guten Morgen!

hab schon so viele Beiträge (bes. von Klotzkopp) gelesen, die mir echt weitergeholfen haben! Danke!!

Nun bin ich richtig verzweifelt, ich finde keine Beiträge zu folgendem Problem:

Meine MFC-Anwendung soll auf das ActiveX-Element mschart.ocx zugreifen, um ein Diagramm (x-y-Plot) zu erzeugen. Das Diagramm wird korrekt angezeigt.

Ich finde jedoch keine Möglichkeit, die Achsen zu skalieren.

Als Schnittstelle zu mschart.ocx ist gibt es verschiedene Wrapper-Klassen, die offenbar ineinander verschachtelt sind.

In der (Haupt)-Include-Datei der "Graphenklasse mschart.h" wird ein Dispatch-Interface

class CVcPlot über CVcPlot::GetPlot() so geht es weiter,

CVcPlot greift über die Funktion CVcAsis::GetAxis(long int, const VARIANT& Index) auf die Wrapper-Klasse

CVcAxis und diese genauso CVcValueScale::GetValueScale() auf die Klasse

CVcValueScale zu.

Nun dachte ich, ich könnte die Achsen in meiner Anwendung wie folgt manipulieren. Eine Variable für das Steuerelement in meiner Anwendung erzeugen:

m_ctlChart

Dann Zugriff auf die Axen über die Klassen:

m_ctlChart.GetPlot().GetAxis(1,VtChAxisIdY).SetMaximum(maxwert);

Beim Verlinken gibt es jedoch eine Fehlermeldung, nicht aufgelöstes externes Symbol "__thiscall CVcPlot::GetAxis(1,VtChAxisIdY)

Hat jemand eine Idee, was ich hier schon wieder falsch gemacht habe? Wie Ihr sicherlich bemerkt, totaler Anfänger. Und natürlich auch nur eine sehr beschränkte Ahnung von der IDispatch Wrapper-Thematik.

Weiss jemand Bescheid? Vielen Dank!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Beim Verlinken gibt es jedoch eine Fehlermeldung, nicht aufgelöstes externes Symbol "__thiscall CVcPlot::GetAxis(1,VtChAxisIdY)
Das heißt, dass der Linker die Definition der Methode CVcPlot::GetAxis nicht findet.

Welche Entwicklungsumgebung verwendest du?

Ist eine Datei namens CVcPlot.cpp in deinem Projekt enthalten?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Alles sehr einfach gewesen :).

Ich musste noch die Header- und die Cpp-Dateien über den Projektmappenexplorer (rechter Mausklick auf Headerdateien / Quelldateien)->Hinzufügen -> Vorhandenes Element) einfügen.

Damit funktioniert alles!

In den Eigenschaften des mschart.ocx hab ich den Graph-Typen von XY-Scatter auf 2dLinie umgestellt. Und alles ist super.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank, Klotzkopp für Deine Antwort. Cool, sonst immer nur von Dir gelesen! Jetzt mal "direkter Kontakt". Eine Ehre für einen Anfänger!

Ich hab Visual Studio 2005. Ja die Datei gab es. Ich hab alle Includedateien die für die MSChart-Komponente generiert worden sind, über #include "vcplot.h"... etc. in mein Anwendungsprogramm eingebunden.

Allerdings die Einbindung über den Projektmappen-Explorer vergessen, wie beschrieben!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...