Moderne Diagramm-Anwendung für VB6 mit WebView2

Einleitung

Hallo zusammen! Heute möchte ich euch einen Einblick in ein spannendes Entwicklungsprojekt geben, an dem ich gerade arbeite. Es handelt sich um eine moderne Diagramm-Website, die speziell dafür entwickelt wurde, in VB6-Anwendungen über den WebView2-Browser eingebettet zu werden.

Was ist das Besondere an diesem Projekt?

Die Website ist eine komplette Neuentwicklung einer Diagramm-Anwendung, die klassische VB6-Programme in die moderne Web-Ära katapultiert. Statt veralteter ActiveX-Komponenten oder externer Tools verwendet diese Lösung den Chromium-basierten WebView2, der direkt in VB6 integriert werden kann.

Technische Highlights

Chart.js Integration

  • Chart.js v4+ über CDN für optimale Performance
  • Mehrere Chart-Typen: Linien-, Flächen-, Balken- und Punktdiagramme
  • Dual Y-Achsen: Linke und rechte Y-Achse für unterschiedliche Skalierungen
  • Interaktive Zoom-Funktion: Mausgesteuerte Vergrößerung von Datenbereichen

Umfangreiche Anpassungsmöglichkeiten

  • Dataset-Management: Pro Dataset einzeln konfigurierbar
    • Sichtbarkeit ein/aus
    • Diagramm-Typ wählen
    • Y-Achse zuweisen (links/rechts)
    • Linienstile: durchgezogen, gestrichelt, gepunktet, strich-punkt
    • Farbauswahl mit modernem Color Picker
    • Linienstärke von 1-8px
    • Punkte ein/aus
    • Gestapelte Darstellung für Balken/Flächen

Moderne Benutzeroberfläche

  • Responsive Design: Passt sich an verschiedene Fenstergrößen an
  • Modulares Settings-System: Übersichtliches Modal mit 6-spaltigem Grid

API für Datenverwaltung

Eine der Stärken dieser Anwendung ist die umfangreiche JavaScript-API, die eine vollständige Datenverwaltung ermöglicht:

// Daten hinzufügen
DiagrammAPI.AddData("Temperatur", "2025-01-15T10:30:00", 25.5);

// Datasets konfigurieren
DiagrammAPI.ConfigDataset("Temperatur", {
    color: "#FF6B6B",
    borderWidth: 3,
    yAxis: "left"
});

// Neue Diagramme erstellen
DiagrammAPI.AddDiagramm("neue-messungen", "Neue Messungen");

// Anzeige aktualisieren
DiagrammAPI.Refresh();

VB6-Integration über WebView2

Die Website ist speziell für die lokale Ausführung in VB6-Anwendungen konzipiert. Daten werden direkt über die WebView2-API injiziert, wodurch keine Server-Infrastruktur benötigt wird. Das ermöglicht:

  • Lokale Sicherheit: Keine Netzwerkabhängigkeiten
  • Offline-Betrieb: Vollständig autark
  • Performance: Direkte Datenübergabe ohne HTTP-Overhead
  • Einfache Integration: Standard-WebView2-Komponenten in VB6

ActiveX-Control in Entwicklung

Zusätzlich entsteht ein ActiveX-Control, das die Diagramm-Funktionen direkt als COM-Schnittstelle bereitstellt. Damit lässt sich das webbasierte Diagramm komfortabel aus Anwendungen steuern. Als Browser/Container kommt aktuell OrdoWebview2 zum Einsatz.
Weitere Informationen: OrdoWebview2 – offizielle Website.

Aktuelle Features und Funktionen

Multi-Diagramm Support

  • Mehrere Diagramme gleichzeitig darstellen
  • Automatische Datenverteilung auf Diagramme
  • Individuelle Konfiguration pro Diagramm

Performance-Optimierungen

  • Lazy Loading von Daten
  • Effiziente Chart-Updates ohne Flackern
  • Optimierte Event-Handler für flüssige Bedienung

Meine Vision

Traditionelle VB6-Anwendungen haben oft mit veralteten Diagramm-Komponenten zu kämpfen. Diese moderne Web-basierte Lösung bietet:

  1. Zukunftssicherheit: Chromium-Engine statt veralteter ActiveX
  2. Wartbarkeit: Standard-Web-Technologien statt proprietärer APIs
  3. Erweiterbarkeit: Einfache Anpassungen durch HTML/CSS/JavaScript
  4. Benutzerfreundlichkeit: Moderne UI statt 90er-Jahre-Design

Ausblick

Das Projekt befindet sich in der aktiven Entwicklung. Geplante Features umfassen:

  • Export-Funktionen (PNG, PDF)
  • Mehr Chart-Typen (Radar, Polar)
  • Erweiterte Datenanalyse-Tools
  • Automatische Skalierung und Layout-Optimierung
  • Mehr als nur 1 linke / rechte Y-Achse
  • Automatische Höhenberechnung an sichtbaren Bereich bei nur einem Diagramm

#VB6 #WebView2 #ChartJS #Modernisierung #Entwicklung

Comments

Schreibe einen Kommentar