Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Zugriff auf ActiveX Steuerelement

Empfohlene Antworten

Veröffentlicht

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!!

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?

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.

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!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.