Einstellungsdialoge k”nnen vom &xcenter; angezeigt werden, um die Daten einer Instanz eines Widgets weiter anzupassen. Ein Beispiel eines Einstellungsdialogs ist der "Filter"-Dialog, der vom Widget "Fensterliste" angezeigt wird, das standardm„áig mit &xwp; geliefert wird.

Diese Einstellungsdialoge zu benutzen, braucht etwas mehr Vorarbeit. Es ist am wichtigsten, sich zu erinnern, daá das &xcenter; die Einstellungsdialoge nicht beim ™ffnen eines Widgets aufruft, sondern nur als Reaktion auf einen Einstellungsstring.

Der Grund dafr ist, daá so die Einstellungsdialoge fr ein Widget sogar dann angezeigt werden k”nnen, wenn das Widget selbst gerade nicht angezeigt wird (also gerade nicht als Fenster existiert). Dies erlaubt es dem &xcenter;, den Einstellungsdialog sowohl aus dem Punkt "Einstellungen" aus dem Kontextmen eines Widgets als auch aus dem Kontextmen eines Widgets auf der Seite "Widgets" im Einstellungsnotizbuch des &xcenter;s aufzurufen - sogar wenn das &xcenter; gerade nicht ge”ffnet ist.

Um den Einstellungsdialog zu untersttzen, muá Ihre Widget-Klasse im Prinzip folgendes tun:

  1. In der Definition der Widget-Klasse (XCENTERWIDGETCLASS), setzen Sie das Feld pShowSettingsDlg auf die Funktion in Ihrer DLL, die den Einstellungsdialog anzeigen kann.

    Diese Funktion muá folgenden Prototyp haben:

    typedef VOID EXPENTRY ShowSettingsDialog(PWIDGETSETTINGSDLGDATA pData);

  2. Wenn das &xcenter; den Einstellungsdialog ausfhren muá (weil z.B. der Menpunkt "Einstellungen" ausgew„hlt wurde), wird es genau diese Funktion aufrufen; sie sollte einen standardm„áigen WinDlgBox-Aufruf ausfhren und nicht zurckkehren, bis das Dialogfenster geschlossen wurde (weil entweder "OK" oder "Abbruch" gedrckt wurde).

    Diese Funktion erh„lt einen Zeiger auf eine tempor„re Struktur WIDGETSETTINGSDLGDATA, die das &xcenter; fr den Einstellungsdialog erstellt hat. Dadurch kann der Einstellungsdialog herausfinden, ob das Widget gerade sichtbar ist.

Fr die Details schauen Sie bitte in den Quellcode der "Fensterliste" ("Window List") unter src\widgets in den &xwp;-Quellen.