Zum Hauptinhalt springen

WinPropSet

obj -> WinPropSet(int1, var2[, int3]) : logic

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von der DLL-Schnittstelle mit grafischer Erweiterung Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service mit grafischer Erweiterung

Setzen einer Eigenschaft eines Oberflächenobjekts

Details

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: 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: