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:
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);
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.
src\widgets
nei sorgenti di &xwp;.