Condividi tramite


Classe COlePropertyPage

Utilizzata per visualizzare le proprietà di un controllo personalizzato in un'interfaccia grafica, simile a una finestra di dialogo.

Sintassi

class AFX_NOVTABLE COlePropertyPage : public CDialog

Membri

Costruttori pubblici

Nome Descrizione
COlePropertyPage::COlePropertyPage Costruisce un oggetto COlePropertyPage.

Metodi pubblici

Nome Descrizione
COlePropertyPage::GetControlStatus Indica se l'utente ha modificato il valore nel controllo .
COlePropertyPage::GetObjectArray Restituisce la matrice di oggetti da modificare dalla pagina delle proprietà.
COlePropertyPage::GetPageSite Restituisce un puntatore all'interfaccia della pagina delle IPropertyPageSite proprietà.
COlePropertyPage::IgnoreApply Determina quali controlli non abilitano il pulsante Applica.
COlePropertyPage::IsModified Indica se l'utente ha modificato la pagina delle proprietà.
COlePropertyPage::OnEditProperty Chiamato dal framework quando l'utente modifica una proprietà.
COlePropertyPage::OnHelp Chiamato dal framework quando l'utente richiama la Guida.
COlePropertyPage::OnInitDialog Chiamato dal framework quando viene inizializzata la pagina delle proprietà.
COlePropertyPage::OnObjectsChanged Chiamato dal framework quando viene scelto un altro controllo OLE, con nuove proprietà.
COlePropertyPage::OnSetPageSite Chiamato dal framework quando il frame delle proprietà fornisce il sito della pagina.
COlePropertyPage::SetControlStatus Imposta un flag che indica se l'utente ha modificato il valore nel controllo .
COlePropertyPage::SetDialogResource Imposta la risorsa della finestra di dialogo della pagina delle proprietà.
COlePropertyPage::SetHelpInfo Imposta il testo della Guida breve della pagina delle proprietà, il nome del file della Guida e il relativo contesto della Guida.
COlePropertyPage::SetModifiedFlag Imposta un flag che indica se l'utente ha modificato la pagina delle proprietà.
COlePropertyPage::SetPageName Imposta il nome della pagina delle proprietà (didascalia).

Osservazioni:

Ad esempio, una pagina delle proprietà può includere un controllo di modifica che consente all'utente di visualizzare e modificare la proprietà caption del controllo.

Ogni proprietà personalizzata o di controllo stock può avere un controllo finestra di dialogo che consente all'utente del controllo di visualizzare il valore della proprietà corrente e modificare tale valore, se necessario.

Per altre informazioni sull'uso COlePropertyPagedi , vedere l'articolo Controlli ActiveX: Pagine delle proprietà.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CDialog

COlePropertyPage

Requisiti

Intestazione: afxctl.h

COlePropertyPage::COlePropertyPage

Costruisce un oggetto COlePropertyPage.

COlePropertyPage(
    UINT idDlg,
    UINT idCaption);

Parametri

idDlg
ID risorsa del modello di finestra di dialogo.

idCaption
ID risorsa della didascalia della pagina delle proprietà.

Osservazioni:

Quando si implementa una sottoclasse di COlePropertyPage, il costruttore della sottoclasse deve usare il COlePropertyPage costruttore per identificare la risorsa modello di dialogo in cui si basa la pagina delle proprietà e la risorsa stringa contenente la relativa didascalia.

COlePropertyPage::GetControlStatus

Determina se l'utente ha modificato il valore del controllo pagina delle proprietà con l'ID risorsa specificato.

BOOL GetControlStatus(UINT nID);

Parametri

nID
ID risorsa di un controllo pagina delle proprietà.

Valore restituito

TRUE se il valore del controllo è stato modificato; in caso contrario FALSE.

COlePropertyPage::GetObjectArray

Restituisce la matrice di oggetti da modificare dalla pagina delle proprietà.

LPDISPATCH* GetObjectArray(ULONG* pnObjects);

Parametri

pnObjects
Puntatore a un intero long senza segno che riceverà il numero di oggetti da modificare dalla pagina.

Valore restituito

Puntatore a una matrice di IDispatch puntatori, che vengono usati per accedere alle proprietà di ogni controllo nella pagina delle proprietà. Il chiamante non deve rilasciare questi puntatori di interfaccia.

Osservazioni:

Ogni oggetto pagina delle proprietà mantiene una matrice di puntatori alle IDispatch interfacce degli oggetti modificati dalla pagina. Questa funzione imposta l'argomento pnObjects sul numero di elementi nella matrice e restituisce un puntatore al primo elemento della matrice.

COlePropertyPage::GetPageSite

Ottiene un puntatore all'interfaccia della pagina delle IPropertyPageSite proprietà.

LPPROPERTYPAGESITE GetPageSite();

Valore restituito

Puntatore all'interfaccia della pagina delle IPropertyPageSite proprietà.

Osservazioni:

I controlli e i contenitori collaborano in modo che gli utenti possano esplorare e modificare le proprietà del controllo. Il controllo fornisce pagine delle proprietà, ognuna delle quali è un oggetto OLE che consente all'utente di modificare un set correlato di proprietà. Il contenitore fornisce una cornice di proprietà che visualizza le pagine delle proprietà. Per ogni pagina, il frame delle proprietà fornisce un sito di pagina che supporta l'interfaccia IPropertyPageSite .

COlePropertyPage::IgnoreApply

Determina quali controlli non abilitano il pulsante Applica.

void IgnoreApply(UINT nID);

Parametri

nID
ID del controllo da ignorare.

Osservazioni:

Il pulsante Applica della pagina delle proprietà è abilitato solo quando i valori dei controlli pagina delle proprietà sono stati modificati. Utilizzare questa funzione per specificare i controlli che non causano l'abilitazione del pulsante Applica quando i valori cambiano.

COlePropertyPage::IsModified

Determina se l'utente ha modificato i valori nella pagina delle proprietà.

BOOL IsModified();

Valore restituito

TRUE se la pagina delle proprietà è stata modificata.

COlePropertyPage::OnEditProperty

Il framework chiama questa funzione quando deve essere modificata una proprietà specifica.

virtual BOOL OnEditProperty(DISPID dispid);

Parametri

dispid
ID dispatch della proprietà da modificare.

Valore restituito

L'implementazione predefinita restituisce FALSE. Gli override di questa funzione devono restituire TRUE.

Osservazioni:

È possibile eseguirne l'override per impostare lo stato attivo sul controllo appropriato nella pagina. L'implementazione predefinita non esegue alcuna operazione e restituisce FALSE.

COlePropertyPage::OnHelp

Il framework chiama questa funzione quando l'utente richiede assistenza online.

virtual BOOL OnHelp(LPCTSTR lpszHelpDir);

Parametri

lpszHelpDir
Directory contenente il file della Guida della pagina delle proprietà.

Valore restituito

L'implementazione predefinita restituisce FALSE.

Osservazioni:

Eseguirne l'override se la pagina delle proprietà deve eseguire qualsiasi azione speciale quando l'utente accede alla Guida. L'implementazione predefinita non esegue alcuna operazione e restituisce FALSE, che indica al framework di chiamare WinHelp.

COlePropertyPage::OnInitDialog

Il framework chiama questa funzione quando viene inizializzata la finestra di dialogo della pagina delle proprietà.

virtual BOOL OnInitDialog();

Valore restituito

L'implementazione predefinita restituisce FALSE.

Osservazioni:

Esegui l'override se è necessaria un'azione speciale quando viene inizializzata la finestra di dialogo. L'implementazione predefinita chiama CDialog::OnInitDialog e restituisce FALSE.

COlePropertyPage::OnObjectsChanged

Chiamato dal framework quando viene scelto un altro controllo OLE, con nuove proprietà.

virtual void OnObjectsChanged();

Osservazioni:

Quando si visualizzano le proprietà di un controllo OLE nell'ambiente di sviluppo, viene utilizzata una finestra di dialogo senza modalità per visualizzare le relative pagine delle proprietà. Se è selezionato un altro controllo, è necessario visualizzare un set diverso di pagine delle proprietà per il nuovo set di proprietà. Il framework chiama questa funzione per notificare alla pagina delle proprietà la modifica.

Eseguire l'override di questa funzione per ricevere la notifica di questa azione ed eseguire azioni speciali.

COlePropertyPage::OnSetPageSite

Il framework chiama questa funzione quando il frame di proprietà fornisce il sito della pagina della pagina delle proprietà.

virtual void OnSetPageSite();

Osservazioni:

L'implementazione predefinita carica la didascalia della pagina e tenta di determinare le dimensioni della pagina dalla risorsa della finestra di dialogo. Eseguire l'override di questa funzione se la pagina delle proprietà richiede un'ulteriore azione; l'override deve chiamare l'implementazione della classe base.

COlePropertyPage::SetControlStatus

Modifica lo stato di un controllo pagina delle proprietà.

BOOL SetControlStatus(
    UINT nID,
    BOOL bDirty);

Parametri

nID
Contiene l'ID di un controllo pagina delle proprietà.

bDirty
Specifica se un campo della pagina delle proprietà è stato modificato. Impostare su TRUE se il campo è stato modificato, FALSE se non è stato modificato.

Valore restituito

TRUE, se il controllo specificato è stato impostato; in caso contrario FALSE.

Osservazioni:

Se lo stato di un controllo pagina delle proprietà è dirty quando la pagina delle proprietà viene chiusa o viene scelto il pulsante Applica, la proprietà del controllo verrà aggiornata con il valore appropriato.

COlePropertyPage::SetDialogResource

Imposta la risorsa della finestra di dialogo della pagina delle proprietà.

void SetDialogResource(HGLOBAL hDialog);

Parametri

hDialog
Handle per la risorsa della finestra di dialogo della pagina delle proprietà.

COlePropertyPage::SetHelpInfo

Specifica le informazioni sulla descrizione comando, il nome file della Guida e il contesto della Guida per la pagina delle proprietà.

void SetHelpInfo(
    LPCTSTR lpszDocString,
    LPCTSTR lpszHelpFile = NULL,
    DWORD dwHelpContext = 0);

Parametri

lpszDocString
Stringa contenente brevi informazioni della Guida per la visualizzazione in una barra di stato o in un'altra posizione.

lpszHelpFile
Nome del file della Guida della pagina delle proprietà.

dwHelpContext
Contesto della Guida per la pagina delle proprietà.

COlePropertyPage::SetModifiedFlag

Indica se l'utente ha modificato la pagina delle proprietà.

void SetModifiedFlag(BOOL bModified = TRUE);

Parametri

bModified
Specifica il nuovo valore per il flag modificato della pagina delle proprietà.

COlePropertyPage::SetPageName

Imposta il nome della pagina delle proprietà, che in genere verrà visualizzato nella scheda della pagina.

void SetPageName(LPCTSTR lpszPageName);

Parametri

lpszPageName
Puntatore a una stringa contenente il nome della pagina delle proprietà.

Vedi anche

Esempio MFC CIRC3
Testhelp di esempio MFC
Classe CDialog
Grafico della gerarchia
Classe CDialog