Zeichnen von komplexen Oberflächen­objekten

Interaktive Oberflächen­objekte

Seit der letzten Aktualisierung des Canvas-Objektes ist es möglich, einfache geometrische Formen wie Linien, Kreise oder Rechtecke zu zeichnen. Diese Objekte können zur Laufzeit erstellt werden. Es lassen sich Attribute wie Rahmenfarbe, Füllfarbe oder Strichstärke verändern. Auch komplexe Abläufe können mittels solcher Diagramme oder Grafiken anschaulicher dargestellt werden. Diesen Grafik-Objekten fehlte es bisher an Interaktionsmöglichkeit. Um diese Lücke zu füllen ist es nun möglich, Oberflächenobjekte im Canvas-Objekt zu platzieren. Dazu gehören verschiedene Formen von Buttons, Labels, Edits und Listen. Die verfügbaren Oberflächenobjekte werden wie die Geometrischen-Objekte dynamisch zur Laufzeit erstellt. Für die Umwandlung der für Oberflächenobjekte üblichen Pixelkoordinaten in logische Koordinaten stehen neue conzept 16-Befehle bereit. Ansonsten sind die verfügbaren Eigenschaften und Funktionalitäten deckungsgleich mit denen, wie sie auch im conzept 16-Designer zur Verfügung stehen.

MouseMove Ergänzung

Zeitgleich zur Integration von ausgewählten Oberflächenobjekten bietet das Canvas-Objekt nun die Anwendung des EvtMouseMove Ereignis an. Dadurch können nun in Kombination einer HitTest-Methode Informationen über Fensterobjekte angezeigt werden, wenn der Mauszeiger über einem Objekt schwebt.

Verfügbare Objekte

Da nicht jedes Objekt aus dem conzept 16-Designer eine sinnvolle Anwendung innerhalb des Canvas-Objekts bietet, ist die Auswahl an zeichenbaren Objekten beschränkt. Hier folgt die vollständige Liste an nutzbaren Objekten.

Animation
BigIntEdit
Button
Checkbox
ColorButton
ColorEdit
DateEdit
DataList
DecimalEdit
Edit
FloatEdit
FontNameEdit
FontSizeEdit
GroupBox
HyperLink
Icon
IntEdit
Label
MenuButton
MetaPicture
Picture
Radiobutton
RecList
RtfEdit
TextEdit
TimeEdit

Anwendungsbeispiel

Wie gewohnt lassen sich Objekte durch WinCreate() zur Laufzeit erzeugen:

tObject # WinCreate(_WinTypeButton, 'MyButton');
//StyleTheme setzen
tObject->wpStyleTheme # _WinStyleThemeSystem;
//Objekt dem Canvas hinzufügen
MyCanvas->WinAdd(tObject);

 

Zur Umrechnung von Pixelkoordinaten in logische Einheiten um die Position von Oberflächenobjekten anzuzeigen:

// Pixel-Koordinate der linken oberen Ecke des Oberflächenobjektes 'WinObject'.
tPoint # PointMake(WinObject->wpAreaLeft, WinObject->wpAreaTop);

// Umwandeln in logische Einheiten.
tPoint # MyCanvas->WinCanvasLogUnit(tPoint);

// Logische Einheiten in Millimeter umrechnen (z.B. zur Anzeige).
tLogPosX # PrtUnit(tPoint1:x, _PrtUnitMillimetres);
tLogPosY # PrtUnit(tPoint1:y, _PrtUnitMillimetres);

Fazit

Das Canvas-Objekt kann neben der Darstellung von Grafiken und Diagrammen nun auch Interaktion zur Verfügung stellen. Und zusätzlich können Diagramme die hinzugefügten Oberflächenobjekte zur Darstellung von Anwendungen nutzen. Insgesamt bietet das Canvas-Objekt dank der Neuerungen eine breitere Anwendungsmöglichkeit und steigert damit seinen Wert als Baustein für eine professionelle Prozessvisualisierung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Leave the field below empty!

This form type is not available for selected form
This form type is not available for selected form

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

GDPR Cookie Consent mit Real Cookie Banner