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
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.
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.
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.
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).
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.
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.
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.
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
Internet
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.