Controls

Einleitung

Controls bieten die Möglichkeit, die ClassiX®-Oberfläche um neue Steuerelemente zu erweitern. Dabei können Controls auch komplexere Darstellungsaufgaben übernehmen, wie z.B. Diagramme. Eine Auswahl von Controls wird in dem Modul "olectlvw.mod" ("OLE Control Viewer") vorgestellt. Die hier vertretenen Controls sind entweder Teil von Windows oder Office und sind somit in jeder ClassiX® Umgebung nutzbar. Die Funktion der Controls wird in den Beispielen exemplarisch vorgestellt, wobei nicht immer komplett alle Funktionen des jeweiligen Controls betrachtet werden. Die Beispiele bieten jedoch einen guten Einstieg für einen InstantView®-Entwickler um mit der Verwendung von Controls zu beginnen.

Die Controls sind thematisch gegliedert und werden immer in eigenen Fenstern gestartet. Wenn vorhanden, ist immer ein Link auf die Referenz zu dem jeweiligen Control angegeben, die beste Dokumentation ist jedoch über die VB- bzw. VBA-Entwicklungsumgebungen zu finden. Dazu einfach in einer Office-Anwendung die VBA-Umgebung mit Alt-F11 aufrufen. Dann über 'Ansicht -> Werkzeugsammlung' die Palette mit den Steuerelementen aufrufen. Evt. muss vorher über 'Einfügen -> UserForm' ein neues Formular angelegt werden. Hier über das Kontextmenü den Punkt 'Zusätzliche Steuerelemente' aufrufen und das Control, zu welchem die Doku benötigt wird, ankreuzen. Wenn nun ein Steuerelement diesen Typs dem Formular hinzugefügt wird, ist die Dokumentation automatisch im Objektkatalog ('Ansicht -> Objektkatalog' oder F2 auf der Tastatur) oben in der Drop-Down-Box verfügbar. Nun kann ganz bequem die Objektstruktur genauer betrachtet werden und zu jedem Objekt lässt sich eine genaue Beschreibung aufrufen.

Zusätzlich bietet jedes Beispiel einen Button 'MDI' an, welcher das Methodenverzeichnis des Control-Objekts anzeigt

Einfache Controls

ProgressBar

Der Progress Bar (Fortschrittsbalken) eignet sich hervorragend, um den aktuellen Status einer länger andauernden Operation anzuzeigen. Dies hat beim Anwender vor allem einen psychologischen Effekt, da der Anwender sieht, dass das Programm noch arbeitet und nicht etwa abgestürzt ist.
In dem Beispiel kann das Minimum und Maximum des Fortschrittsbalken eingestellt werden, sowie der aktuelle Wert. Um die Verwendung zu demonstrieren gibt es ein kleines Makro, welches einfach in einer Schleife den Wert des Fortschrittsbalken hochzählt. Dazu kann eine Schrittweite angegeben werden sowie eine Geschwindigkeit, welche die Wartezeit innerhalb eines Schleifendurchlauf angibt. Diese Wartezeit ist hier quasi der Ersatz für die eigentlich ausgeführte Operation in einer realen Anwendung. Es ist nicht nötig, per Hand den prozentualen Fortschritt auszurechnen, da der Fortschrittsbalken auch mit Maximum-Werten kleiner bzw. größer Einhundert umgehen kann. Somit muss nur die Anzahl Schritte bei der Verwendung bekannt sein und es kann dann einfach zwischen Startwert und Endwert gezählt werden.

Class-ID:
MSComctlLib.ProgCtrl
Vorraussetzungen: Es handelt sich hierbei zwar um ein Standard-Control von Windows, jedoch werden diese erst durch ein vorhandenes Office auch per ActiveX verfügbar. Es muss also Office installiert sein.

 

Slider

Der Slider eignet sich zum Einstellen ganzzahliger Werte aus einem vorgegebenen Wertebereich. Der Slider ist ein erstes Beispiel für die Verwendung von Controls mit Ereignissen. Da ja bei Veränderung des eingestellten Wertes mit dem Slider die ClassiX®-Anwendung entsprechend darauf reagieren sollte, ist es notwendig, dass die Anwendung auf die Ereignisse des Controls reagiert. Wie dazu vorgegangen wird, dass ist in dem Beispielcode des Sliders ganz einfach erklärt.
Natürlich lässt sich auch hier Minimum, Maximum und der aktuelle Wert von ClassiX®-Seite aus einstellen. Der Slider bietet noch einige Zusätzliche Funktionen und Eigenschaften mit denen das Aussehen beeinflusst werden kann, die aber in dem Beispiel nicht vorgestellt werden. Hier geht es primär um die einfache Verwendung.

Class-ID:
MSComctlLib.Slider
Vorraussetzungen: Es handelt sich hierbei zwar um ein Standard-Control von Windows, jedoch werden diese erst durch ein vorhandenes Office auch per ActiveX verfügbar. Es muss also Office installiert sein.

 

Date Time Picker

Der Date Time Picker eignet sich zur vereinfachten Eingabe von Uhrzeit und Datum. Dazu wird bei der Datumseingabe bei Klick auf den Pfeil-Knopf auf der rechten Seite ein kleiner Kalender angezeigt, welcher eine sehr komfortable Auswahl des Datums ermöglicht. Der Typ der Darstellung des Datums kann umgeschaltet werden, genauso die Art der Datumsauswahl. Auch mit diesem Control wird wieder der Einsatz von Ereignissen demonstriert, indem nach Änderung des Datums im Control das neue Datum auch auf von ClassiX® entsprechend angezeigt wird.
Das aktuell eingestellte Datum im Control wird auch direkt als CX_DATE_TIME zurükgegeben, d.h. es findet hier eine automatische Konvertierung in den korrekten Typen durch die ClassiX®-Schnittstelle statt

Class-ID:
MSComCtl2.DTPicker
Vorraussetzungen: Es handelt sich hierbei zwar um ein Standard-Control von Windows, jedoch werden diese erst durch ein vorhandenes Office auch per ActiveX verfügbar. Es muss also Office installiert sein. Das Control liegt in mscomctl2.ocx.

 

Visualisierung

Chart

Das Chart-Control bietet die Möglichkeit, Diagramme in verschiedensten Arten zu erstellen. Das Control ist Bestandteil von Microsoft Excel bzw. Microsoft Office und bietet die gleichen Möglichkeiten, wie die Diagrammfunktionen von Excel selbst.
In dem Beispiel zum Chart Control können in der Tabelle unten links drei Wertereihen eingegeben werden. Das Chart Control unterstützt mehr als nur drei Wertereihen, jedoch werden im Beispiel nur drei Reihen verwendet. Das Bearbeiten der Tabelle geschieht mit den Buttons 'Hinzufügen' bzw. 'Entfernen', mit denen Zeilen eingefügt und entfernt werden können. Der Button 'Aktualisieren' übernimmt die Werte aus der Tabelle in das Diagram. Über den Button 'Beispiel' kann eine Beispieltabelle generiert werden.
Rechts oben kann der Typ des Diagrams ausgewählt werden. Entweder kann direkt der Code des jeweiligen Typ eingegeben und mit 'Enter' bestätigt werden, oder es kann mit den beiden Pfeil-Buttons zum jeweils nächsten bzw. vorherigen Typ gewechselt werden.
Darunter kann das Aussehen des Diagramms beeinflusst werden, über die Buttons lassen sich die Farben der Wertereihen wechseln und in dem Textfeld kann der Name einer Wertereihe, welcher für die Legende verwendet wird, eingegeben und mit 'Enter' bestätigt werden. Die Legende selbst lässt sich über die entsprechende Checkbox ein- und ausschalten. Mit dem Knopf 'Exportieren' kann das Diagramm als Grafikdatei gespeichert werden.
Dieses Beispiel für die Verwendung des Chart-Controls zeigt nur einen Teil der Fähigkeiten des Controls, bietet aber einen guten Einstieg für die Verwendung von Diagrammen in ClassiX.

Class-ID: OWC11.ChartSpace
Dokumentation:
Die Hilfedateien für die Office 2003-Webkomponenten werden (im Falle einer deutschsprachigen Office 2003-Installation) standardmäßig im Ordner "%Systemlaufwerk%\Programme\Gemeinsame Dateien\Microsoft Shared\Web Components\11\1031" installiert. Die Hilfedatei für das Chart-Control lässt sich leider nicht direkt aufrufen sondern muss aus einer Microsoft Entwicklungsumgebung heraus benutzt werden. Dies ist oben genauer beschrieben. Als zusätzliches Steuerelement muss in diesem Fall "Microsoft Office Chart 11.0" ausgewählt werden. Die Dokumentation ist im Objektkatalog dann unter dem Eintrag "OWC11" verfügbar.
Vorraussetzungen: Es müssen die Office 2003-Webkomponenten installiert sein. Diese bei einer Standardinstallation von Office 2003 automatisch mit installiert.
Anmerkungen:
Sollte eine ältere Office-Version installiert sein (z.B. Office XP) so können die dort mitgelieferten Controls ebenfalls auf die beschriebene Art und Weise benutzt werden. Einzig zu beachten ist eine andere Versionsnummer, so wird die "11" von Office 2003 bei Office XP z.B. überall zu einer "10" (z.B. Class-ID wird zu OWC10.ChartSpace).

Calendar

Mit dem Kalender kann auf einfache Art und Weise ein Datum ansprechend dargestellt werden. Entweder kann dieses Control genutzt werden, um dem Benutzer eine einfachere Datumsauswahl anzubieten (siehe auch Date-Time-Picker) oder um eine Übersicht über die aktuelle Woche/den aktuellen Monat zu bieten. Im Beispiel-Bereich des Fensters sieht man, wie man einzelne Datumsinformationen wie Tag, Monat oder Jahr ausliest oder das Datum als ganzes zurückgeliefert bekommt. Dazu bietet das Control Methoden, um das Datum ganze Tage, Wochen, Monate oder auch Jahre weiter- bzw. zurückzusetzen. Das Control kann auch verschiedene Ereignisse auslösen, als Beispiel wird hier eine Meldung beim Jahreswechsel ausgegeben.

Class-ID: MSCal.Calendar
Dokumentation: Nicht vorhanden, einzige Möglichkeit MDI von ClassiX.
Vorraussetzungen:
Das Calendar-Control ist Bestandteil von Microsoft Office und demnach nur verfügbar, wenn auch Office installiert ist.

 

Webbrowser

Das Webbrowser-Control bietet Zugriff auf den Internet Explorer von Windows. Mit dem Control ist prinzipiell alles möglich, was auch mit dem Internet Explorer machbar ist. Die einfachste denkbare Verwendung ist natürlich das Darstellen von Webseiten, wie im Beispiel demonstriert wird. Hierzu einfach eine URL in das Textfeld eingeben und mit der Return-Taste bzw. einem Klick auf den "Go"-Knopf den Ladevorgang starten.
Eine andere, vorstellbare Art der Nutzung wäre aber auch z.B. das herunterladen von Dateien im Hintergrund um diese dann direkt in ClassiX® weiter zu verarbeiten. Ebenso wäre es auch möglich, mit dem Webbrowser eine Art Report-Funktion zu realisieren, indem von  ClassiX® generierte HTML-Seiten mit entsprechenden Informationen angezeigt werden.

Class-ID: Shell.Explorer
Dokumentation: Bei Microsoft im Internet
Vorraussetzungen: Der InternetExplorer ist Bestandteil von Windows und somit auch immer verfügbar.

 

FlexGrid

Das FlexGrid Control ermöglicht eine tabellarische Darstellung von beliebigen Daten. Dabei ist die Tabelle im Aussehen sehr frei konfigurierbar, was Farben und Schriftarten angeht. Im Beispiel kann über die linken beiden Eingabefelder die Anzahl an Spalten und Zeilen gesetzt werden, indem die gewünschte Anzahl in das Feld eingetragen und die Enter-Taste gedrückt wird. Auf der rechten Seite kann eine Zelle mit ihren Koordinaten angegeben werden und dann mit Inhalt gefüllt werden. Dazu werden die Koordinaten der Zelle in die entsprechenden Felder eingetragen und der gewünschte Wert in das Feld "Wert". Wenn in diesem Feld nun die Enter-Taste gedrückt wird, dann wird der Wert in die Zelle übernommen.

Class-ID: MSHierarchicalFlexGridLib.MSHFlexGrid
Dokumentation: Bei Microsoft im Internet
Vorraussetzungen: Das Control ist Bestandteil von Microsoft Visual Basic, ist aber über die VisualBasic Runtime von Microsoft frei verfügbar.

 

DHTML Edit

Das DHTML Edit Control ermöglicht das interaktive Editieren von HTML Code. Dabei stellt das Control den Code in einer WYSIWYG Ansicht dar, in welcher dann Änderungen vorgenommen werden können. Über die beiden Buttons können beliebige HTML-Dateien geladen werden oder der aktuelle HTML-Code gespeichert werden.

Class-ID: DHTMLEdit.DHTMLEdit
Dokumentation: Bei Microsoft im Ecterne VerknüpfungInternet
Vorraussetzung: Das Control ist Bestandteil des InternetExplorers und somit auf jedem Windows bis Windows XP verfügbar. Unter Windows Vista steht es nicht mehr Standardmäßig zur Verfügung.
Anmerkung: Das Control ist von Microsoft als veraltet deklariert und in Windows Vista nicht mehr enthalten. Daher sollte der Einsatz dieses Controls nur nach eingehender Überlegung geschehen. Es kann nachträglich auf Windows Vista installiert werden (zum Download). Eine kurze Beschreibung findet sich in Wikipedia, eine sehr technische bei Microsoft.