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 daf�r ist, daá so die Einstellungsdialoge f�r 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 unterst�tzen, muá Ihre Widget-Klasse im Prinzip das folgende 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 ausf�hren muá (weil z.B. der Men�punkt "Einstellungen" ausgew„hlt wurde), wird es genau diese Funktion aufrufen; sie sollte einen standardm„áigen WinDlgBox-Aufruf ausf�hren und nicht zur�ckkehren, bis das Dialogfenster geschlossen wurde (weil entweder "OK" oder "Abbruch" gedr�ckt wurde).

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

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