Basic's kleine Helfer
VBAssist 5.0 und Active Threed Plus von Sheridan im Test

von CyberJack IV


Visual Basic-Programmierer können seit einiger Zeit einen merkwürdigen Prozeß beobachten: In ihrem angestrengten Bemühen, das Produkt auch noch dem letzten Abtrünnigen schmackhaft zu machen, haben die Microsoft-Entwickler seit der Version 5.0 eine Benutzeroberfläche geschaffen, die nur bedingt als positive Weiterentwicklung gewertet werden kann. Umsteiger von früheren Versionen sehen sich oftmals klickreichen Abläufen gegenüber, nur um die selbe Funktion zu aktivieren, die vorher nur einen Mausklick entfernt war. Des einen Leid, des anderen Freud': Tool-Spezialist Sheridan findet bei Visual Basic ab Version 5 einen reichhaltigen Fundus für Hilfsroutinen und komfortable Zusatzcontrols.

 

VBAssist 5.0: Der gute Geist im Fensterchaos

In der fünften Generation präsentiert sich VBAssist in vorbildlicher Übersichtlichkeit. Aus dem leicht chaotischen Design früherer Versionen ist eine gut gegliederte Sammlung von Assistenten und Hilfswerkzeugen geworden. Nach Einbindung über den Plugin-Manager - die in der Regel bereits das Installationsprogramm vornimmt - präsentiert sich die Steuerzentrale als zusätzliche Symbolleiste, die man auf die übliche Weise verschieben, abreißen und wieder andocken kann. Aus der großen Menge angebotener Funktionen sollen hier nur einige der wichtigsten vorgestellt werden.

Irgendwie hat man bei Visual Basic 5.0 und 6.0 den Eindruck, die Macher der Entwicklungsumgebung glaubten selbst nicht daran, daß damit komplexere Anwendungen entstehen könnten. Besonders die ab diesen Versionen eingeführte Fixierung des Formentwurfsfensters verstärkt diesen Eindruck. Bei Microsoft geht man offensichtlich davon aus, typische VB-Anwendungen würden größtenteils in handtellergroßen Fenstern laufen. Wer die Unverfrorenheit besitzt, ein VB-Programm in einer bildschirmgroßen Form unterzubringen, sieht scrollreiche Zeiten auf sich zukommen: Ein Großteil des Bildschirms liegt hinter Projekt-, Eigenschafts-, Tool- und anderen Fenstern verborgen. Eine Vollansicht des Entwurfsfensters gibt es nicht. Wer das Formdesign anhand des Gesamteindrucks des Fensters vornehmen möchte, hat nur die Möglichkeit, alle Hilfsfenster zu schließen, um sie bei jeder Editieraufgabe von Controls und Code wieder zu öffnen.

VBAssist hat diese Schwäche der aktuellen Visual Basic Version auf vorbildliche Weise aus der Welt geschafft. Mit dem "Work Space Assistant" lassen sich die vier Ecken des Bildschirms als Garagen für die wichtigsten Hilfsfenster definieren. Wird beispielsweise das sperrige Eigenschaftsfenster der rechten, unteren Ecke zugeordnet, verschwindet es spurlos vom Bildschirm. Das Anstoßen der Ecke mit der Maus läßt es in bekannter Taskleisten-Manier aufklappen. Sobald die Maus das Hilfsfenster verläßt, klappt es wieder zurück und gibt den Blick frei auf das aktive Code- oder Formfenster. Als zusätzlichen Komfort lassen sich die Verzögerungszeiten für das Auf- und Zuklappen getrennt in Millisekunden einstellen. Wer auf diese Weise alle vier Ecken definiert, dem vermittelt sich mit einem Mal ein Gefühl von Weite, das nach dem Puppenstubendesign der VB-Oberfläche befreiend wirkt.
 

 


  

 
   

 
Alle bisher bekannten Funktionen von VBAssist sind auch in der Version 5 enthalten und wurden teilweise weiterentwickelt. Mit einer neuen Plugin-Architektur hat Sheridan seinen Assistenten auf Zukunft getrimmt: Ohne großen Aufwand lassen sich nun weitere Funktionen integrieren, die von Sheridan oder anderen Entwicklern für VBAssist kreiert werden können. Diese neue Eigenschaft könnte sich schon bald rentieren, denn sie erlaubt die Korrektur des einzigen wirklich gravierenden Mangels von VBAssist: Aus unerklärlichen Gründen findet man keinen Assistenten für die schnelle Generierung einer Message Box. Zwar vertritt man bei Sheridan die lustige Ansicht, ein Message Box-Assistent würde von den VBAssist-Käufern nicht gewünscht, aber dennoch: Da dies eine der am häufigsten benötigten Hilfen ist, wird das entsprechende Plugin wohl nicht lange auf sich warten lassen. Bereits vorhanden ist die zeitsparende Funktion für Common Dialogs: Mit dem zugehörigen Assistenten erzeugt man die gewünschte Dialogbox durch einfaches Ausfüllen einiger Tabseiten. Alle vorhandenen Einstellmöglichkeiten bis hin zum letzten Flag kann man auf diese Weise ohne Mühe bewerkstelligen. Der Klick auf "Finish" transportiert den Code entweder in die Windows-Zwischenablage oder direkt in das Codefenster.

Der neue "Accelerator Assistant" hilft bei der mühelosen Zuordnung von Hotkey-Tasten. In drei Ansichten sind alle Controls , noch nicht zugeordnete Controls und Hotkey-Konflikte aufgelistet. Mit ein paar Mausklicks kann man hier ohne langes Kalkulieren und Planen für überlappungsfreie Ordnung sorgen.
 

 
.
 
 
   


Wirklich gut ist der neue "Project Control View" gelungen. Wem die VB-Methode des Ansteuerns gewünschter Prozeduren mittels Objektkatalog und Projekt-Explorer zu umständlich ist, hat mit diesem Hilfsmittel eine hochklassige Allroundhilfe an der Hand. In Explorer-Manier kann man sich hier nicht nur zur gewünschten Prozedur, sondern auf zum gesuchten Control oder sogar zur gesuchten Variablendeklarationen vorklicken. Wird dieses Fenster auch noch mit dem Work Space Assistant einer Ecke zugewiesen, steht der blitzschnellen Navigation selbst in umfangreichen Projekten nichts mehr im Weg.
 

 
 
   

Optimiert wurden auch die ohnehin schon praktischen Funktionen zur Verwaltung von Control-Arrays und Tab-Reihenfolge. Die wesentlichen Befehle, um die Formelemente in die gewünschte Reihenfolge zu bringen, sind nun mittels rechtem Mausklick aus Kontextmenüs heraus erreichbar. Das erspart die bisherigen, zusätzlichen Toolbars, die bei umfangreichen Arrays oft im Weg waren. Die gleiche Verbesserung präsentiert der "Data Bindig Assistant": Auch er liefert die wichtigsten Funktionen zur Datenbankanbindung von Controls jetzt über Kontextmenüs.

Sehr praktisch ist der neue "Resource Assistant." Mit seiner Hilfe lassen sich jetzt nicht nur Resourcen bearbeiten, die in .RES-Dateien untergebracht sind, sondern auch direkt in den Formen untergebrachte Elemente. Dazu enthält der Assistent ein kleines Grafikprogramm, das die direkte Gestaltung oder Veränderung von Bildern, Icons und Cursorn erlaubt. Der Assistent unterstützt jetzt auch die neuen, größeren Farbtiefen bis 256 Farben.
 

 
   


Der "Comment Assistant" hilft dem Entwickler bei der wichtigen Aufgabe, sein Projekt reproduzierbar und nachvollziehbar zu halten, durch neue Funktionen. Mit Makros kann man den Kommentaren jetzt anwenderspezifische Informationen beifügen, wie etwa den Prozedurnamen, Parameterlisten oder Dateinamen. Auch die Eingabeaufforderung für aktuell zufügbare Texte ist machbar


Active Threed Plus: Komfort unter Kontrolle

Wer kennt sie nicht, die im Lieferumfang von Visual Basic enthaltenen "Sheridan 3D Controls". Die im Auftrag von Microsoft entwickelte Controlsammlung ist mittlerweile Standard bei fast jedem VB-Projekt. Weniger erfreut über den Erfolg ist Hersteller Sheridan, der daran nicht angemessen partizipiert. So ist nicht verwunderlich, daß ratsuchende Programmierer beim Sheridan-Support mit der lapidaren Bemerkung konfrontiert werden, daß die Produktunterstützung für die 3D-Controls eingestellt wurde. Stattdessen verweist man bei dem Toolspezialisten auf die neuen "Active Threed Plus"-Controls, die mit gesteigertem Leistungs- und Funktionsumfang locken. Ob die zusätzliche Ausgabe gerechtfertigt ist, soll hier geklärt werden.

Wer die neuen Controls installiert und in das Projekt einbindet, sieht erst einmal wenig Veränderungen - von den roten Ecken an den Controlbuttons in der Toolbar einmal abgesehen. Der Eindruck ändert sich schlagartig, wenn man ein Control in die Form zeichnet und sich die Eigenschaften dazu ansieht. Gleich die erste Eigenschaft, "ActiveColors" weist die neue Richtung: Sheridan hat aus seinen 3D-Controls hochklassige Multimediaelemente gezimmert. Ohne eine Zeile Code kann man das Control damit veranlassen, eine eingebaute Grafik im inaktiven Zustand auszugrauen. Mit "CaptionStyle" kann man wählen, ob die enthaltene Beschriftung zeilenmäßig umbrochen oder ein einer Zeile abgebildet werden soll.

In die Vollen geht es mit den "Marquee"-Eigenschaften. Mit Ihnen läßt sich die Beschriftung animieren - ohne eine Zeile Code, wohlgemerkt. Besser als jede Beschreibung sprechen die Wertekonstantennamen für die neue Funktionalität: "ssScrollingMarquee", "ssGlidingMarquee", "ssBlinkingMarquee", "ssBouncingMarquee" sagen anschaulich, welche Animationstypen eingebaut sind.

So richtig zur Sache geht es bei der Integration von Bildern. Das wichtigste zuerst: In allen Active Threed Controls sind Animationen möglich. Das wichtigste Minus gleich dahinter: Fertige Animationen wie AVI-Dateien oder animierte GIFs lassen sich nicht abspielen. Die bewegten Sequenzen kann man nur durch Laden der Einzelbilder erzeugen, wobei sich Bildmenge und Abspielfrequenz einstellen lassen. Da nur eine globale Bildgeschwindigkeit wählbar ist, bleiben die Controls in puncto Komfort hinter jedem AniGIF spürbar zurück. Dafür lassen sich alle üblichen Bildformate einlesen, inklusive GIFs, die mit einem Alphakanal ausgestattet sind. Zusätzlich lassen sich Hintergrundbilder einbauen, so daß man interessante und ansehnlichen Animationen verwirklichen kann. Erfreulich ist, daß sich das Hintergrundbild neben der Zentrierung und Dehnung nun auch als Kachel integrieren läßt. Das spart weiteren Code ein.
 

 
 
   


Einen Höhepunkt der Controleingenschaften stellt "PictureBackgroundUseMask" dar: Auf "True" gestellt, akzeptiert das Control auch bei Hintergrundbildern einen Alphakanal. Das beeindruckende Ergebnis: Controls müssen nicht mehr rechteckig sein, sondern können jede beliebige Form annehmen.

Neben den bekannten Standardelementen bietet das Paket eine Reihe weiterer, einzeln einbindbarer Controls. "ActiveResizer" verwandelt eine Form mit allen darauf befindlichen Elementen in ein beliebig vergrößerbares und verkleinerbares Gebilde. Wird die Form in der Größe verändert, verändern sich alle Controls und Beschriftungen entsprechend. Der gesamte Forminhalt bleibt dabei sichtbar. Die optische Ausführung des Effekts ist gelungen, die Schriften bleiben - dem Umständen entsprechend - gut lesbar. "ActiveScroll" bewerkstelligt sozusagen das Gegenteil. Ist das Layout größer als die Form, erlauben eine horizontale und vertikale Scrollbar das Verschieben des Fensterinhalts bei gleichbleibender Größe. Mit "ActiveSplitter" bekommt man ein mächtiges Werkzeug in die Hand, um mit einigen Mausklicks und Mauszügen komplexe Rahmenkonstrukte zu erzeugen. Zur Laufzeit lassen sie sich mit dem Fenster proportional skalieren. Auch kann man dem Anwender die Möglichkeit geben, die Rahmen selbst zu verschieben.
 

 
 
   


"ActiveTransition" bringt die Welt der Szenenübergänge in das Visual Basic-Projekt. Mit seiner Hilfe lassen sich beachtliche 37 Übergänge zaubern und mit mehreren Parametern einstellen. Anders als bei Präsentationsprogrammen beschränken sich die Übergänge hier nicht auf Bilder. Auch komplette Formlayouts lassen sich in andere Layouts überblenden.
Den Höhepunkt der Sammlung stellt zweifellos "ActiveSplash" dar. Mit seiner Hilfe kann man beliebig geformte Container erzeugen. Das geschieht, wie schon bei der "PictureBackgroundUseMask"-Eigenschaft, durch den Einsatz des Alphakanals beim Hintergrundbild. Das Interessante daran ist: Auch der übergeordnete Container, also die Form selbst, läßt sich auf diese Weise bearbeiten. Damit ist es erstmals möglich, mit Visual Basic beliebig geformte Fenster zu erzeugen - ohne eine Zeile Code.

 

 
Übrigens: Der nächste avAtaR erscheint am 1. 04.1999 ! 
   


Einige zusätzliche Einstellmöglichkeiten eröffnen weitere Aspekte: Es läßt sich festlegen, ob der Anwender die frei gestaltete Form mit der Maus verschieben kann, oder ob sie fest auf dem Bildschirm positioniert wird. Durch den sinnvollen Einsatz des Alphakanals lassen sich Formen mit Löchern erzeugen, durch die der Hintergrund sichtbar wird. Das Hintergrundbild, das dem Fenster seine Form verleiht, kann unsichtbar bleiben, so daß die Systemfarbe für den Fensterhintergrund sichtbar wird. Da ActiveSplash die ActiveColor-Funktion unterstützt, kann man das formgebende Bild in Grautönen abbilden, bis der Mauszeiger darüberfährt. Erst dann erscheint das Bild in voller Farbenpracht.

Mit VBAssist und Active Threed Plus bekommt der VB-Entwickler tatkräftige Hilfe von zwei Seiten: VBAssist erleichtert die Entwicklungsarbeit enorm. Die Active Threed Plus Controlsammlung läßt visuelle Effekte wahr werden, die bislang C++-Programmierern vorbehalten waren.



 

 


Daten

Produkt:
Tools für Visual Basic-Entwickler

Hersteller:
Sheridan - www.shersoft.com

Sytemvoraussetzungen:
Wie Visual BAsic ab Version 5


Positiv:


VBAssist 5.0:
Umfangreiche Auswahl an Assistenten und Hilfsprogrammen
Workspace Assistant für optimale Desktop-Organisation
Schnelle Navigation mit
Project Control View
Resource Assistant bearbeitet jetzt auch Formelemente

Active Threed Plus:
Animierbare Captions
37 Bildübergänge auch für komplette Formlayouts
Voll skalierbare oder scrollbare Forms
Tool zur einfachen Herstellung komplexer Framesets
Alpha-Kanal für unregelmäßig geformte Controls
Alpha-Kanal für unregelmäßig geformte Fenster ( ! )


Negativ:

VBAssist 5.0:
Kein Message Box Assistant

Active Threed Plus:
Im Test keine Fehler gefunden

 

 
   


Eure Meinung? Euer Kommentar? Eure Anregungen?
Für alles ist Raum im Forum des AVATAR!