Button

Push Buttons (normale Systembuttons), square (rechteckige Buttons), round buttons (Buttons mit abgerundeten Ecken), Checkboxen und Radio Buttons (umschaltbar) sind in LiveCode allesamt Button-Objekte mit unterschiedlichen Eigenschaften..

Radio Buttons müssen gruppiert werden, damit sie sich gegenseitig ausschalten, und den Status (angewählt oder nicht) kann man jeweils mit dem **hilite** Property auslesen (true oder false).

Ansonsten haben Buttons die folgenden Properties:

## Basic Properties

* Name
* IconGravity
* Label, der Text, der darauf oder daneben angezeigt wird..
* tool tip
* Style (Aussehen bzw.Typ):
	+ Transparent.jpg
	+ Square.jpg
	+ Shadow.jpg
	+ Round.jpg
	+ Radio.jpg
	+ Push.jpg
	+ Opaque.jpg
	+ Check.jpg1/8
	+ push button (Standardbutton)
	+ square button (rechteckig)
	+ round button (abgerundete Ecken)
	+ transparent button (durchsichtig)
	+ opaque button (undurchsichtig)
	+ shadow button (mit Schatten)
	+ check box
	+ radio button
	+ option
	+ combobox
	+ popup (auftauchen)
	+ pull down (herunterziehen)
* Style (Aussehen bzw.Typ) Optionen:
	+ **visible**: wenn auf falsch gesetzt, dann ist der Button unsichtbar und kann nur noch mit dem Project Browser angewählt und bearbeitet werden)
	+ **opaque**: (undurchsichtig) wenn auf false gesetzt, hat der Button dieselbe Farbe wie der Hintergrund
	+ **show name**: wenn auf false gesetzt, wird der Text-Label nicht angezeigt
	+ auto hilite
	+ shared hilite
* shortcut and hint
* Focus with keyboard
	+ Show focus border
* Mnemonic
* Default button
* Disabled
* Layer mode
* Behavior

## Icons & Border

* Icon
* **Hilite Icon**: Icon, das zu sehen ist, wenn der Button gedrückt wird
* **Disabled Icon**: Icon, das zu sehen ist, wenn der Button deaktiviert ist
* **Visited Icon**: Icon, das zu sehen ist, wenn der Button mindestens einmal geklickt wurde (du kannst das zurücksetzen, indem Du die **visited** property auf false setzt)
* Armed Icon
* **Hover Icon**: wenn die Maus sich über den Button bewegt
* **Three D**: 3D-Effekt des Buttons
* **Border**: die Umrandung des Buttons
* **Hilite border**: spezielle Umrandung, die erscheint, während Button geklickt wird
* **Border width** (Breite der Umrandung)
* **Shadow**: einfacher Schatten-Effekt des Buttons
* **Shadow offset**: Entfernung des Schattens vom Button
* (Für hochwertigere Grafikeffekte siehe unten: Graphic Effects)

## Colors & patterns

Hier kannst du die Farbe für die verschiedenen Elemente des Buttons einstellen. Du kannst auch ein pattern (Muster) anstatt einer Farbe zuweisen.

## Custom properties

Custom properties (eigene Eigenschaften) sind ein sehr guter Ersatz für Variablen in Livecode. Während sich in LiveCode zwar für alles auch Variablen verwenden lassen, sind diese nur temporär verfügbar, solange das Programm läuft.

Custom Properties hingegen sind dauerhafte Speicherorte für alle Werte, die man ihnen zuweist, sogar nachdem das Programm geschlossen wurde. Sie werden mit dem Stack gespeichert. Informationen, die in Custom Properties gespeichert werden, sind leicht einzulesen und zu überprüfen.

## Graphic effects (Grafikeffekte)

Hier kannst Du Grafikeffekte einstellen und auch miteinander kombinieren:

 Datei:GraphicEffects.jpg
* drop shadow (weicher Schatten)
* inner shadow (innerer Schatten)
* outer glow (äußeres Glühen)
* inner glow (inneres Glühen)
* color overlay (Farbüberlagerung)

Wenn Du den **drop shadow (weichen Schatten)** aktivierst, kannst Du alle Aspekte davon (color, opacity, position, etc.) in einem Untermenü bearbeiten.

## Blending (Transparenz)

Der blending Effekt dient dazu, Objekte mehr oder weniger transparent darzustellen, es können mehrere Möglichkeiten der Berechnung gewählt werden (arithmetisch, subpin, usw.).

Der Prozentwert des *blending* lässt sich dabei einstellen, von 0 (komplett durchsichtig, also unsichtbar) bis 255 (komplett deckend) .

## Property profiles (Eigenschaften Profile)

Alle Eigenschaften eines Objekts werden von einem Hauptprofil übernommen, Sie können jedoch ein Profil hinzufügen und ändern. Auf diese Weise haben alle Objekte die gleichen Eigenschaften, sehen gleich aus oder verhalten sich gleich.

## Size & Position (Größe und Position)

Hier kannst du

* die Größe des Objekts einstellen (in Pixeln)

* das Objekt an den Textinhalt anpassen

* die genaue Position des Objekts einstellen, entweder auf den Mittelpunkt oder die Ränder des Objekts bezogen
* Größe und Position des Objekts fixieren (lock)
* auswählen, welche Objekte von welchen überlagert werden (layer)

## Text formatting (Textformatierung)

Folgendes kann hier angepasst werden:

* Font (Zeichensatz)
* Fontgröße (die Größe kann direkt eingetippt werden und ist nicht auf das Auswahlmenü beschränkt)
* Textstil:
	+ plain (normal)
	+ bold (fett)
	+ italic (kursiv)
	+ underlined (unterstrichen)
	+ boxed (mit Rahmen)
	+ boxed 3D (mit 3D-Rahmen umrandet)
	+ link (Link)
	+ strike-out (durchgestrichen)
* alignment (Textausrichtung)
* margins (Textränder)

Es lassen sich auch alle Buchstaben in Großbuchstaben, Kleinbuchstaben, *Satz* oder *Titel* anzeigen. Dafür dient der *change case* Button.

## Alle Properties

Dies ist eine Auflistung nahezu aller Properties, die für das Objekt *Button* verwendet werden können:

* accelKey
* accelMods
* accelText
* altId
* armBorder
* armed
* armedIcon
* armFill
* autoArm
* autoHilite
* backColor
* backPattern
* behavior
* blendLevel
* borderColor
* borderPattern
* borderWidth
* bottomColor
* bottomPattern
* cantSelect
* colorOverlay
* default
* disabled
* disabledIcon
* dropShadow
* family
* focusColor
* focusPattern
* foreColor
* forePattern
* hiliteBorder
* hiliteColor
* hilited
* hiliteFill
* hiliteIcon
* hilitePattern
* hoverIcon
* icon
* iconGravity
* id
* ink
* innerGlow
* innerShadow
* label
* labelWidth
* layer
* layerMode
* lockLoc
* margins
* menuHistory
* menuLines
* menuMode
* menuMouseButton
* menuName
* mnemonic
* name
* opaque
* outerGlow
* rect
* shadow
* shadowColor
* shadowOffset
* shadowPattern
* sharedHilite
* showBorder
* showFocusBorder
* showHilite
* showIcon
* showName
* style
* text
* textAlign
* textFont
* textSize
* textStyle
* threeD
* titleWidth
* toolTip
* topColor
* topPattern
* traversalOn
* visible
* visitedIcon