Nota: Questo Š un estratto da center.h
. Questa
definizione non Š necessariamente aggiornata. Per il proprio codice si
faccia sempre riferimento a center.h
e non a questa definizione.
/*
*@@ XCENTERGLOBALS:
* dati globali per un'istanza in esecuzione dello &xcenter;.
* Esiste un puntatore a questa struttura in ogni istanza di
* XCENTERWIDGET cosŤ che gli elementi possono avere
* accesso ad alcuni dei dati globali.
*
* In questa struttura, un'istanza dello &xcenter;
* passa alcune variabili ai suoi elementi membro
* cosŤ che essi possono accedere pi— rapidamente ad
* alcuni dati per convenienza. Questa struttura
* viene inizializzata al momento della creazione
* degli elementi.
*
* "Globali" non Š un nome adatto, dato che una di
* queste strutture viene creata per ogni istanza dello
* &xcenter; (e possono essercene parecchie),
* ma Š senza dubbio una struttura pi— globale di quelle
* specifiche degli elementi.
*/
typedef struct _XCENTERGLOBALS
{
HAB hab; // anchor block di frame e client
HWND hwndFrame, // frame window dello &xcenter;
hwndClient; // client
PVOID pCountrySettings;
// impostazioni nazionali; punta a una struttura
// COUNTRYSETTINGS (prfh.h)
ULONG cyTallestWidget;
// altezza della client (uguale all'altezza di tutti gli elementi!)
ULONG cxMiniIcon;
// dimensioni della mini-icona di sistema (per comodit…); 16 o 20
LONG lcol3DDark,
lcol3DLight;
// colori di sistema per cornici 3D (per comodit…; RGB!)
// seguono le impostazioni di ampiezza per la seconda pagina di
// impostazioni "Visualizzare";
// un elemento potrebbe considerarle o meno.
ULONG flDisplayStyle;
// flag di visualizzazione dello &xcenter;;
// un elemento potrebbe considerarli o meno.
// Questi flag possono essere una combinazione dei seguenti:
// -- XCS_FLATBUTTONS: bottoni piatti. Se non Š settato,
// i bottoni sono disegnati sollevati.
// -- XCS_SUNKBORDERS: traccia i controlli statici (attivit… CPU...)
// con una cornice 3D "svasata", se settato.
// -- XCS_SIZINGBARS: lo &xcenter; dovrebbe tracciare automaticamente barre
// di dimensionamento per elementi ridimensionabili.
// -- XCS_ALL3DBORDERS: lo &xcenter; dovrebbe tracciare tutti i quattro
// bordi in 3D attorno a s‚. Se non Š settato, traccer… solo
// un bordo (quello verso lo schermo).
ULONG ulPosition;
// posizione dello &xcenter; sullo schermo, se interessa...
// Ô _una_ delle seguenti:
// -- XCENTER_BOTTOM
// -- XCENTER_TOP
// Sinistra e destra non sono ancora supportate.
ULONG ul3DBorderWidth;
// ampiezza del bordo 3D
ULONG ulBorderSpacing;
// spazio al bordo (aggiunto all'ampiezza del bordo 3D)
ULONG ulSpacing;
// spazio tra gli elementi
} XCENTERGLOBALS, *PXCENTERGLOBALS;