Le dialog di impostazioni possono essere mostrate dallo &xcenter; per perfezionare i dati dell'istanza di un certo elemento. Un esempio di una dialog di impostazioni Š la dialog "Filtri" mostrata dall'elemento standard "Elenco finestre", distribuito con &xwp;.

Le dialog di impostazioni richiedono un impianto pi— ampio. La cosa pi— importante da ricordare Š che lo &xcenter; non invoca una dialog di impostazioni su un elemento dello &xcenter; aperto, ma soltanto su una stringa di impostazioni.

Ci• Š stato fatto in modo che le dialog di impostazioni possano essere mostrate per un elemento, anche se questo non Š correntemente visibile (ossia, non esiste correntemente come finestra). Questo permette allo &xcenter; di mostrare le dialog di impostazioni sia dalla voce di menu "Propriet…" (correggi!) in un menu contestuale dell'elemento, sia dal menu contestuale della pagina "Elementi" nel blocco impostazioni dello &xcenter; --- anche se lo &xcenter; stesso non Š attualmente aperto.

In sostanza, per supportare le dialog di impostazioni, la classe widget deve fare le seguenti cose:

  1. Nella definizione della classe elemento (XCENTERWIDGETCLASS), impostare il campo pShowSettingsDlg alla funzione nella DLL usata per mostrare la dialog di impostazioni.

    Questa funzione deve avere il seguente prototipo:

    typedef VOID EXPENTRY ShowSettingsDialog(PWIDGETSETTINGSDLGDATA pData);

  2. Quando lo &xcenter; deve invocare la dialog (per esempio a causa di una selezione da menu contestuale ), esso chiamer… esattamente questa funzione, che dovrebbe fare un WinDlgBox e non ritornare fino alla chiusura della dialog (tramite pressione di "OK" o "Annullare").

    Tale funzione riceve un puntatore a una struttura temporanea di tipo WIDGETSETTINGSDLGDATA, che lo &xcenter; ha composto per la dialog di impostazioni. In essa, le dialog di impostazioni possono sapere se l'elemento Š attualmente visibile.

Per dettagli, si consulti il codice di "Window list" src\widgets nei sorgenti di &xwp;.