WinPropSet
obj -> WinPropSet(int1, var2[, int3]) : logic
Setzen einer Eigenschaft eines Oberflächenobjekts
Details
- obj: Objekt
- int1: Eigenschaftsausprägung
- var2: Ausprägungswert
- int3: Flag
- Resultat:
logicSetzungserfolg - Siehe: Verwandte Befehle ,
WinPropGet (), Eigenschaftsliste
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');
Alternativ kann die Eigenschaft auch wie folgt gesetzt werden: Beispiel: FWGMDXBLOCK0002
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:
_ErrHdlInvalid: Objekt (Obj) ungültig