Zum Hauptinhalt springen

WinPropSet

Dieser Befehl setzt eine Eigenschaft eines Oberflächenobjektes.

Als erster Parameter muss die Konstante der Eigenschaft übergeben werden. Die Konstanten setzen sich aus _WinProp und dem Namen der Eigenschaft zusammen.

Im zweiten Parameter wird der zu setzende Wert übergeben.

Beispiel:

// Setzen des Objektitels
$Obj->WinPropSet(_WinPropCaption, 'New caption');
info

Alternativ kann die Eigenschaft auch wie folgt gesetzt werden: Beispiel: // Setzen des Objektitels $Obj->wpCaption # 'New caption';

Ein Vorteil der kompakteren Schreibweise gegenüber WinPropSet() und WinPropGet() besteht darin, dass schon während der Kompilierung eine Typprüfung vorgenommen wird:

$Obj->WinPropSet(_WinPropCaption, 100);

Diese Anweisung liefert während der Laufzeit den Rückgabewert false, da 100 vom Typ int ist.

$Obj->wpCaption # 100;

Dieser Befehl erzeugt bereits während der Kompilierung der entsprechenden Prozedur einen Fehler. Typ-Fehler dieser Art werden somit vermieden. Beim Lesen einer Eigenschaft, die im referenzierten Objekt nicht vorhanden ist, wird ein Laufzeitfehler erzeugt. Der Laufzeitfehler kann durch die Kapselung in einem try-Block unterbunden werden.

Beispiel:

try
{
ErrTryCatch(_ErrPropInvalid, true);
$Obj->wpCaptionInt # 100;
...
}

Der optionale Parameter (int3) muss nur angegeben werden, wenn zusätzliche Informationen einer Eigenschaft zugeordnet werden können. Entsprechende Hinweise befinden sich in den Beschreibungen der Eigenschaften.

Beispiel:

// Aktuelle Notizbuchseite ohne Fokuswechsel setzen
tHdlNotebook->WinPropSet(_WinPropCurrent, tHdlNotebookPage, _WinFlagNoFocusSet);

// Alternativ dazu
tHdlNotebook->wpCurrent(_WinFlagNoFocusSet) # tHdlNotebookPage;

Mögliche Laufzeitfehler: