4.3.2 Welches sind die Besonderheiten von Commandbutton?
Schaltflächen sind da, um bestimmte Befehle nach einem Mausklick durch den Anwender auszuführen. Üblicherweise steht auf der Schaltfläche der Befehl.

Neben den meisten Standard-Eigenschaften gibt es noch folgende:

Titel
Diese Eigenschaft legt den Text in der Schaltfläche fest. Leider ist Starbasic hier nicht konsequent. Die Eigenschaft in Starbasic lautet "Label" und nicht wie man aus der IDE schließen könnte "Title", wie beim Dialog zum Beispiel.
MyControl.Model.Label = "OK"

Standardschaltfläche
Mit dieser Eigenschaft kann man eine Schaltfläche als Standard auf die Eingabetaste definieren. Dann reagiert diese Schaltfläche alleine auf die Eingabetaste.
Diese Eigenschaft darf man nur einer Schaltfläche innerhalb eines Dialoges zuweisen. Leider ist es aber auch mehrfach möglich und führt zu keiner Fehlermeldung.
MyControl.Model.DefaultButton= true / false


Art der Schaltfläche
Mit dieser Eigenschaft lässt sich ein Rückgabewert der Dialog.Excute Funktion und das Verhalten der Schaltfläche festlegen. Es sind folgende Einstellungen möglich:

0 = Standard: Die Schaltfläche reagiert nicht mit dem Dialog.
1 = OK: Der Dialog wird geschlossen und der Rückgabewert von Dialog.execute ist 1.
2 = Abbrechen:Der Dialog wird geschlossen und der Rückgabewert von Dialog.execute ist 0.
3 = Hilfe: Die Online Hilfe wird aufgerufen. Sollte unter HilfeUrl ein Eintrag steht, wird diese Stelle in der Online Hilfe angesprungen.

Um den Rückgabewert abzufragen, muss der Dialog als Funktion aufgerufen werden.
Wert = Dialog.execute()

Um die Art der Schaltfläche zu ändern, wird die Eigenschaft PushButtonType in Starbasic verwendet.
MyControl.Model.Pushbuttontype = 1
Hat aber keine Auswirkung

Status
Diese Eigenschaft ist in der IDE zwar auswählbar,hat aber keine Auswirkung.

Hintergrundfarbe (2.0)
Hier lässt sich eine andere Hintergrundfarbe einstellen.

Grafik
Mit der Eigenschaft Grafik kann die Schaltfläche mit einer Grafik anzeigen lassen. Es gibt also drei mögliche Schaltflächen: Nur Text, Text und Grafik und nur Grafik.



Die Grafikdatei muß auf dem Computer mit der Pfadangabe existieren. Die Grafik wird nicht mit dem Makro gespeichert. Also ist diese Option mit Vorsicht zu verwenden wenn die Makros verteilt werden müssen.
Der Zugriff über Starbasic erfolgt über myctrl.model.imageurl. Dieser Eigenschaft muß dann der komplette Pfadname übergeben werden. Dabei ist auf die URL-Schreibweise zu achten.
MyControl.model.imageurl="file:///C:/Programme/StarOffice6.1/share/gallery/bullets/poliball.gif"