Condividi tramite


Classe COleControlSite

Fornisce supporto per le interfacce dei controlli sul lato client personalizzate.

Sintassi

class COleControlSite : public CCmdTarget

Membri

Costruttori pubblici

Name Descrizione
COleControlSite::COleControlSite Costruisce un oggetto COleControlSite.

Metodi pubblici

Name Descrizione
COleControlSite::BindDefaultProperty Associa la proprietà predefinita del controllo ospitato a un'origine dati.
COleControlSite::BindProperty Associa una proprietà del controllo ospitato a un'origine dati.
COleControlSite::CreateControl Crea un controllo ActiveX ospitato.
COleControlSite::D estroyControl Elimina definitivamente il controllo ospitato.
COleControlSite::D oVerb Esegue un verbo specifico del controllo ospitato.
COleControlSite::EnableDSC Abilita l'origine dati per un sito di controllo.
COleControlSite::EnableWindow Abilita il sito di controllo.
COleControlSite::FreezeEvents Specifica se il sito di controllo accetta eventi.
COleControlSite::GetDefBtnCode Recupera il codice del pulsante predefinito per il controllo ospitato.
COleControlSite::GetDlgCtrlID Recupera l'identificatore del controllo.
COleControlSite::GetEventIID Recupera l'ID di un'interfaccia evento per un controllo ospitato.
COleControlSite::GetExStyle Recupera gli stili estesi del sito di controllo.
COleControlSite::GetProperty Recupera una proprietà specifica del controllo ospitato.
COleControlSite::GetStyle Recupera gli stili del sito di controllo.
COleControlSite::GetWindowText Recupera il testo del controllo ospitato.
COleControlSite::InvokeHelper Richiamare un metodo specifico del controllo ospitato.
COleControlSite::InvokeHelperV Richiamare un metodo specifico del controllo ospitato con un elenco variabile di argomenti.
COleControlSite::IsDefaultButton Determina se il controllo è il pulsante predefinito nella finestra.
COleControlSite::IsWindowEnabled Controlla lo stato visibile del sito di controllo.
COleControlSite::ModifyStyle Modifica gli stili estesi correnti del sito di controllo.
COleControlSite::ModifyStyleEx Modifica gli stili correnti del sito di controllo.
COleControlSite::MoveWindow Modifica la posizione del sito di controllo.
COleControlSite::QuickActivate Attiva rapidamente il controllo ospitato.
COleControlSite::Cassaforte SetProperty Imposta una proprietà o un metodo del controllo senza possibilità di generare un'eccezione.
COleControlSite::SetDefaultButton Imposta il pulsante predefinito nella finestra.
COleControlSite::SetDlgCtrlID Recupera l'identificatore del controllo.
COleControlSite::SetFocus Imposta lo stato attivo sul sito di controllo.
COleControlSite::SetProperty Imposta una proprietà specifica del controllo ospitato.
COleControlSite::SetPropertyV Imposta una proprietà specifica del controllo ospitato con un elenco variabile di argomenti.
COleControlSite::SetWindowPos Imposta la posizione del sito di controllo.
COleControlSite::SetWindowText Imposta il testo del controllo ospitato.
COleControlSite::ShowWindow Visualizza o nasconde il sito di controllo.

Metodi protetti

Name Descrizione
COleControlSite::GetControlInfo Recupera le informazioni sulla tastiera e le mnemonic per il controllo ospitato.

Membri dati pubblici

Name Descrizione
COleControlSite::m_bIsWindowless Determina se il controllo ospitato è un controllo senza finestra.
COleControlSite::m_ctlInfo Contiene informazioni sulla gestione della tastiera per il controllo.
COleControlSite::m_dwEventSink Cookie del punto di connessione del controllo.
COleControlSite::m_dwMiscStatus Stati vari per il controllo ospitato.
COleControlSite::m_dwPropNotifySink Cookie IPropertyNotifySink del controllo.
COleControlSite::m_dwStyle Stili del controllo ospitato.
COleControlSite::m_hWnd Handle del sito di controllo.
COleControlSite::m_iidEvents ID dell'interfaccia evento per il controllo ospitato.
COleControlSite::m_nID ID del controllo ospitato.
COleControlSite::m_pActiveObject Puntatore all'oggetto IOleInPlaceActiveObject del controllo ospitato.
COleControlSite::m_pCtrlCont Contenitore del controllo ospitato.
COleControlSite::m_pInPlaceObject Puntatore all'oggetto IOleInPlaceObject del controllo ospitato.
COleControlSite::m_pObject Puntatore all'interfaccia IOleObjectInterface del controllo.
COleControlSite::m_pWindowlessObject Puntatore all'interfaccia IOleInPlaceObjectWindowless del controllo.
COleControlSite::m_pWndCtrl Puntatore all'oggetto finestra per il controllo ospitato.
COleControlSite::m_rect Dimensioni del sito di controllo.

Osservazioni:

Questo supporto è il mezzo principale mediante il quale un controllo ActiveX incorporato ottiene informazioni sulla posizione e l'extent del sito di visualizzazione, il moniker, l'interfaccia utente, le proprietà di ambiente e altre risorse fornite dal relativo contenitore. COleControlSite implementa completamente le interfacce IOleControlSite, IOleInPlaceSite, IOleClientSite, IPropertyNotifySink, IBoundObjectSite, INotifyDBEvents, IRowSetNotify . Inoltre, viene implementata anche l'interfaccia IDispatch (che fornisce supporto per le proprietà di ambiente e i sink di eventi).

Per creare un sito di controllo ActiveX usando COleControlSite, derivare una classe da COleControlSite. CWndNella classe derivata da -per il contenitore (ad esempio, la finestra di dialogo) esegue l'override della CWnd::CreateControlSite funzione.

Gerarchia di ereditarietà

CObject

CCmdTarget

COleControlSite

Requisiti

Intestazione: afxocc.h

COleControlSite::BindDefaultProperty

Associa la proprietà associata semplice predefinita dell'oggetto chiamante, come contrassegnata nella libreria dei tipi, al cursore sottostante definito dalle proprietà DataSource, UserName, Password e SQL del controllo origine dati.

virtual void BindDefaultProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    LPCTSTR szFieldName,
    CWnd* pDSCWnd);

Parametri

dwDispID
Specifica il DISPID di una proprietà in un controllo associato a dati da associare a un controllo origine dati.

vtProp
Specifica il tipo della proprietà da associare, ad esempio VT_BSTR, VT_VARIANT e così via.

szFieldName
Specifica il nome della colonna, nel cursore fornito dal controllo origine dati, a cui verrà associata la proprietà.

pDSCWnd
Puntatore all'oggetto CWndderivato da che ospita il controllo origine dati a cui verrà associata la proprietà.

Osservazioni:

L'oggetto CWnd su cui si chiama questa funzione deve essere un controllo associato a dati.

COleControlSite::BindProperty

Associa la proprietà associata semplice dell'oggetto chiamante, come contrassegnata nella libreria dei tipi, al cursore sottostante definito dalle proprietà DataSource, UserName, Password e SQL del controllo origine dati.

virtual void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Parametri

dwDispId
Specifica il DISPID di una proprietà in un controllo associato a dati da associare a un controllo origine dati.

pWndDSC
Puntatore all'oggetto CWndderivato da che ospita il controllo origine dati a cui verrà associata la proprietà.

Osservazioni:

L'oggetto CWnd su cui si chiama questa funzione deve essere un controllo associato a dati.

COleControlSite::COleControlSite

Costruisce un oggetto COleControlSite nuovo.

explicit COleControlSite(COleControlContainer* pCtrlCont);

Parametri

pCtrlCont
Puntatore al contenitore del controllo , che rappresenta la finestra che ospita il controllo AtiveX.

Osservazioni:

Questa funzione viene chiamata dalla funzione COccManager::CreateContainer . Per altre informazioni sulla personalizzazione della creazione di contenitori, vedere COccManager::CreateSite.

COleControlSite::CreateControl

Crea un controllo ActiveX ospitato dall'oggetto COleControlSite .

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const POINT* ppt,
    const SIZE* psize,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

Parametri

pWndCtrl
Puntatore all'oggetto finestra che rappresenta il controllo .

Clsid
ID univoco della classe del controllo.

lpszWindowName
Puntatore al testo da visualizzare nel controllo . Imposta il valore della proprietà Caption o Text di winodw (se presente).

dwStyle
Stili di Windows. Gli stili disponibili sono elencati nella sezione Osservazioni .

rect
Specifica le dimensioni e la posizione del controllo. Può essere un CRect oggetto o una RECT struttura.

nID
Specifica l'ID finestra figlio del controllo.

pPersist
Puntatore a un oggetto CFile contenente lo stato permanente per il controllo . Il valore predefinito è NULL, che indica che il controllo si inizializza senza ripristinarne lo stato da alcuna risorsa di archiviazione permanente. In caso contrario, deve essere un puntatore a un CFileoggetto derivato da che contiene i dati persistenti del controllo, sotto forma di flusso o di archiviazione. Questi dati potrebbero essere stati salvati in un'attivazione precedente del client. CFile Può contenere altri dati, ma deve avere il puntatore di lettura/scrittura impostato sul primo byte di dati persistenti al momento della chiamata a CreateControl.

b Archiviazione
Indica se i dati in pPersist devono essere interpretati come IStorage o IStream dati. Se i dati in pPersist sono una risorsa di archiviazione, b Archiviazione deve essere TRUE. Se i dati in pPersist sono un flusso, b Archiviazione deve essere FAL edizione Standard. Il valore predefinito è FALSE.

bstrLicKey
Dati facoltativi della chiave di licenza. Questi dati sono necessari solo per la creazione di controlli che richiedono un codice di licenza di runtime. Se il controllo supporta le licenze, è necessario fornire un codice di licenza per la creazione del controllo per avere esito positivo. Il valore predefinito è NULL.

Ppt
Puntatore a una POINT struttura che contiene l'angolo superiore sinistro del controllo. La dimensione del controllo è determinata dal valore di psize. I valori ppt e psize sono un metodo facoltativo per specificare le dimensioni e la posizione del controllo.

psize
Puntatore a una SIZE struttura che contiene le dimensioni del controllo. L'angolo superiore sinistro è determinato dal valore di ppt. I valori ppt e psize sono un metodo facoltativo per specificare le dimensioni e la posizione del controllo.

Valore restituito

Valore HRESULT standard.

Osservazioni:

Solo un subset dei flag dwStyle di Windows è supportato da CreateControl:

  • WS_VISIBLE Crea una finestra inizialmente visibile. Obbligatorio se si desidera che il controllo sia visibile immediatamente, ad esempio le finestre normali.

  • WS_DISABLED Crea una finestra inizialmente disabilitata. Una finestra disabilitata non può ricevere input dall'utente. Può essere impostato se il controllo dispone di una proprietà Enabled.

  • WS_BORDER Crea una finestra con un bordo linea sottile. Può essere impostata se il controllo ha una proprietà BorderStyle.

  • WS_GROUP Specifica il primo controllo di un gruppo di controlli. L'utente può modificare lo stato attivo della tastiera da un controllo del gruppo al successivo usando i tasti di direzione. Tutti i controlli definiti con lo stile WS_GROUP dopo il primo controllo appartengono allo stesso gruppo. Il controllo successivo con lo stile WS_GROUP termina il gruppo e avvia il gruppo successivo.

  • WS_TABSTOP Specifica un controllo che può ricevere lo stato attivo della tastiera quando l'utente preme il tasto TAB. Premendo TAB lo stato attivo della tastiera viene impostato sul controllo successivo dello stile WS_TABSTOP.

Usare il secondo overload per creare controlli di dimensioni predefinite.

COleControlSite::D estroyControl

Elimina definitivamente l'oggetto COleControlSite .

virtual BOOL DestroyControl();

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Al termine, l'oggetto viene liberato dalla memoria e i puntatori all'oggetto non sono più validi.

COleControlSite::D oVerb

Esegue il verbo specificato.

virtual HRESULT DoVerb(
    LONG nVerb,
    LPMSG lpMsg = NULL);

Parametri

nVerb
Specifica il verbo da eseguire. Può includere uno dei seguenti elementi:

valore Significato Simbolo
0 verbo primario OLEIVERB_PRIMARY
-1 Verbo secondario (Nessuno)
1 Visualizza l'oggetto per la modifica. OLEIVERB_SHOW
-2 Modifica l'elemento in una finestra separata. OLEIVERB_OPEN
-3 Nasconde l'oggetto . OLEIVERB_HIDE
-4 Attiva un controllo sul posto. OLEIVERB_UIACTIVATE
-5 Attiva un controllo sul posto, senza elementi aggiuntivi dell'interfaccia utente. OLEIVERB_INPLACEACTIVATE
-7 Visualizzare le proprietà del controllo. OLEIVERB_PROPERTIES

lpMsg
Puntatore al messaggio che ha causato l'attivazione dell'elemento.

Valore restituito

Valore HRESULT standard.

Osservazioni:

Questa funzione chiama direttamente tramite l'interfaccia del IOleObject controllo per eseguire il verbo specificato. Se viene generata un'eccezione in seguito a questa chiamata di funzione, viene restituito un codice di errore HRESULT.

Per altre informazioni, vedere IOleObject::D oVerb in Windows SDK.

COleControlSite::EnableDSC

Abilita l'origine dati per il sito di controllo.

virtual void EnableDSC();

Osservazioni:

Chiamato dal framework per abilitare e inizializzare l'origine dati per il sito di controllo. Eseguire l'override di questa funzione per fornire un comportamento personalizzato.

COleControlSite::EnableWindow

Abilita o disabilita l'input del mouse e della tastiera per il sito di controllo.

virtual BOOL EnableWindow(BOOL bEnable);

Parametri

bEnable
Specifica se abilitare o disabilitare la finestra: TRUE se l'input della finestra deve essere abilitato; in caso contrario, FAL edizione Standard.

Valore restituito

Diverso da zero se la finestra è stata disabilitata in precedenza, altrimenti 0.

COleControlSite::FreezeEvents

Specifica se il sito di controllo gestirà o ignorerà gli eventi generati da un controllo .

void FreezeEvents(BOOL bFreeze);

Parametri

bFreeze
Specifica se il sito del controllo desidera interrompere l'accettazione di eventi. Diverso da zero se il controllo non accetta eventi; in caso contrario, zero.

Osservazioni:

Se bFreeze è TRUE, il sito di controllo richiede al controllo di interrompere l'attivazione degli eventi. Se bFreeze è FAL edizione Standard, il sito di controllo richiede al controllo di continuare a generare eventi.

Nota

Il controllo non è necessario per interrompere l'attivazione di eventi se richiesto dal sito di controllo. Può continuare la generazione, ma tutti gli eventi successivi verranno ignorati dal sito di controllo.

COleControlSite::GetControlInfo

Recupera informazioni sul comportamento della tastiera e della tastiera di un controllo.

void GetControlInfo();

Osservazioni:

Le informazioni vengono archiviate in COleControlSite::m_ctlInfo.

COleControlSite::GetDefBtnCode

Determina se il controllo è un pulsante di pressione predefinito.

DWORD GetDefBtnCode();

Valore restituito

I possibili valori sono i seguenti:

  • DLGC_DEFPUSHBUTTON Controllo è il pulsante predefinito nella finestra di dialogo.

  • DLGC_UNDEFPUSHBUTTON Controllo non è il pulsante predefinito nella finestra di dialogo.

  • 0 Il controllo non è un pulsante.

COleControlSite::GetDlgCtrlID

Recupera l'identificatore del controllo.

virtual int GetDlgCtrlID() const;

Valore restituito

Identificatore dell'elemento della finestra di dialogo del controllo.

COleControlSite::GetEventIID

Recupera un puntatore all'interfaccia evento predefinita del controllo.

BOOL GetEventIID(IID* piid);

Parametri

piid
Puntatore a un ID interfaccia.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0. In caso di esito positivo, piid contiene l'ID interfaccia per l'interfaccia evento predefinita del controllo.

COleControlSite::GetExStyle

Recupera gli stili estesi della finestra.

virtual DWORD GetExStyle() const;

Valore restituito

Stili estesi della finestra di controllo.

Osservazioni:

Per recuperare gli stili regolari, chiamare COleControlSite::GetStyle.

COleControlSite::GetProperty

Ottiene la proprietà del controllo specificata da dwDispID.

virtual void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp) const;

Parametri

dwDispID
Identifica l'ID dispatch della proprietà, disponibile nell'interfaccia predefinita IDispatch del controllo, da recuperare.

vtProp
Specifica il tipo della proprietà da recuperare. Per i valori possibili, vedere la sezione Note per COleDispatchDriver::InvokeHelper.

pvProp
Indirizzo della variabile che riceverà il valore della proprietà. Deve corrispondere al tipo specificato da vtProp.

Osservazioni:

Il valore viene restituito tramite pvProp.

COleControlSite::GetStyle

Recupera gli stili del sito di controllo.

virtual DWORD GetStyle() const;

Valore restituito

Stili della finestra.

Osservazioni:

Per un elenco dei valori possibili, vedi Stili di Windows. Per recuperare gli stili estesi del sito di controllo, chiamare COleControlSite::GetExStyle.

COleControlSite::GetWindowText

Recupera il testo corrente del controllo.

virtual void GetWindowText(CString& str) const;

Parametri

str
Riferimento a un CString oggetto contenente il testo corrente del controllo.

Osservazioni:

Se il controllo supporta la proprietà Stock Caption, questo valore viene restituito. Se la proprietà Stock Caption non è supportata, viene restituito il valore per la proprietà Text.

COleControlSite::InvokeHelper

Richiama il metodo o la proprietà specificata da dwDispID, nel contesto specificato da wFlags.

virtual void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo, ...);

Parametri

dwDispID
Identifica l'ID dispatch della proprietà o del metodo, disponibile nell'interfaccia del IDispatch controllo, da richiamare.

Wflags
Flag che descrivono il contesto della chiamata a IDispatch::Invoke. Per i possibili valori wFlags , vedere IDispatch::Invoke in Windows SDK.

vtRet
Specifica il tipo del valore restituito. Per i valori possibili, vedere la sezione Note per COleDispatchDriver::InvokeHelper.

pvRet
Indirizzo della variabile che riceverà il valore della proprietà o il valore restituito. Deve corrispondere al tipo specificato da vtRet.

pbParamInfo
Puntatore a una stringa con terminazione Null di byte che specifica i tipi dei parametri seguenti pbParamInfo. Per i valori possibili, vedere la sezione Note per COleDispatchDriver::InvokeHelper.

...
Elenco di variabili di parametri, di tipi specificati in pbParamInfo.

Osservazioni:

Il parametro pbParamInfo specifica i tipi dei parametri passati al metodo o alla proprietà . L'elenco di argomenti variabile è rappresentato da ... nella dichiarazione di sintassi.

Questa funzione converte i parametri in valori VARIANTARG, quindi richiama il IDispatch::Invoke metodo sul controllo . Se la chiamata a IDispatch::Invoke ha esito negativo, questa funzione genera un'eccezione. Se il codice di stato restituito da IDispatch::Invoke è , questa funzione genera un COleDispatchException oggetto , altrimenti genera un'eccezione COleExceptionDISP_E_EXCEPTION.

COleControlSite::InvokeHelperV

Richiama il metodo o la proprietà specificata da dwDispID, nel contesto specificato da wFlags.

virtual void InvokeHelperV(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    va_list argList);

Parametri

dwDispID
Identifica l'ID dispatch della proprietà o del metodo, disponibile nell'interfaccia del IDispatch controllo, da richiamare.

Wflags
Flag che descrivono il contesto della chiamata a IDispatch::Invoke.

vtRet
Specifica il tipo del valore restituito. Per i valori possibili, vedere la sezione Note per COleDispatchDriver::InvokeHelper.

pvRet
Indirizzo della variabile che riceverà il valore della proprietà o il valore restituito. Deve corrispondere al tipo specificato da vtRet.

pbParamInfo
Puntatore a una stringa con terminazione Null di byte che specifica i tipi dei parametri seguenti pbParamInfo. Per i valori possibili, vedere la sezione Note per COleDispatchDriver::InvokeHelper.

Arglist
Puntatore a un elenco di argomenti di variabile.

Osservazioni:

Il parametro pbParamInfo specifica i tipi dei parametri passati al metodo o alla proprietà . È possibile passare parametri aggiuntivi per il metodo o la proprietà richiamata usando il parametro va_list .

In genere, questa funzione viene chiamata da COleControlSite::InvokeHelper.

COleControlSite::IsDefaultButton

Determina se il controllo è il pulsante predefinito.

BOOL IsDefaultButton();

Valore restituito

Diverso da zero se il controllo è il pulsante predefinito nella finestra, in caso contrario zero.

COleControlSite::IsWindowEnabled

Determina se il sito di controllo è abilitato.

virtual BOOL IsWindowEnabled() const;

Valore restituito

Diverso da zero se il controllo è abilitato; in caso contrario, zero.

Osservazioni:

Il valore viene recuperato dalla proprietà Stock Enabled del controllo.

COleControlSite::m_bIsWindowless

Determina se l'oggetto è un controllo senza finestra.

BOOL m_bIsWindowless;

Osservazioni:

Diverso da zero se il controllo non ha finestra, in caso contrario zero.

COleControlSite::m_ctlInfo

Informazioni sul modo in cui l'input della tastiera viene gestito dal controllo .

CONTROLINFO m_ctlInfo;

Osservazioni:

Queste informazioni vengono archiviate in una struttura CONTROLINFO .

COleControlSite::m_dwEventSink

Contiene il cookie del punto di connessione dal sink dell'evento del controllo.

DWORD m_dwEventSink;

COleControlSite::m_dwMiscStatus

Contiene informazioni varie sul controllo.

DWORD m_dwMiscStatus;

Osservazioni:

Per altre informazioni, vedere OLEMISCin Windows SDK.

COleControlSite::m_dwPropNotifySink

Contiene il cookie IPropertyNotifySink .

DWORD m_dwPropNotifySink;

COleControlSite::m_dwStyle

Contiene gli stili Window del controllo.

DWORD m_dwStyle;

COleControlSite::m_hWnd

Contiene il valore HWND del controllo o NULL se il controllo è senza finestra.

HWND m_hWnd;

COleControlSite::m_iidEvents

Contiene l'ID interfaccia dell'interfaccia del sink di eventi predefinito del controllo.

IID m_iidEvents;

COleControlSite::m_nID

Contiene l'ID elemento del controllo.

UINT m_nID;

COleControlSite::m_pActiveObject

Contiene l'interfaccia IOleInPlaceActiveObject del controllo.

LPOLEINPLACEACTIVEOBJECT m_pActiveObject;

COleControlSite::m_pCtrlCont

Contiene il contenitore del controllo (che rappresenta il form).

COleControlContainer* m_pCtrlCont;

COleControlSite::m_pInPlaceObject

Contiene l'interfaccia IOleInPlaceObjectIOleInPlaceObject del controllo.

LPOLEINPLACEOBJECT m_pInPlaceObject;

COleControlSite::m_pObject

Contiene l'interfaccia IOleObjectInterface del controllo .

LPOLEOBJECT m_pObject;

COleControlSite::m_pWindowlessObject

Contiene l'interfaccia IOleInPlaceObjectWindowlessIOleInPlaceObjectWindowless del controllo.

IOleInPlaceObjectWindowless* m_pWindowlessObject;

COleControlSite::m_pWndCtrl

Contiene un puntatore all'oggetto CWnd che rappresenta il controllo stesso.

CWnd* m_pWndCtrl;

COleControlSite::m_rect

Contiene i limiti del controllo, rispetto alla finestra del contenitore.

CRect m_rect;

COleControlSite::ModifyStyle

Modifica gli stili del controllo.

virtual BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

Parametri

dwRemove
Stili da rimuovere dagli stili di finestra correnti.

dwAdd
Stili da aggiungere dagli stili di finestra correnti.

Nflags
Flag di posizionamento delle finestre. Per un elenco dei valori possibili, vedere la funzione SetWindowPos in Windows SDK.

Valore restituito

Diverso da zero se gli stili vengono modificati; in caso contrario, zero.

Osservazioni:

La proprietà Stock Enabled del controllo verrà modificata in modo che corrisponda all'impostazione per WS_DISABLED. La proprietà Stock Border Style del controllo verrà modificata in modo che corrisponda all'impostazione richiesta per WS_BORDER. Tutti gli altri stili vengono applicati direttamente all'handle della finestra del controllo, se presente.

Modifica gli stili della finestra del controllo. Gli stili da aggiungere o rimuovere possono essere combinati usando l'operatore OR bit per bit (|). Per informazioni sugli stili di finestra disponibili, vedere la funzione CreateWindow in Windows SDK.

Se nFlags è diverso da zero, ModifyStyle chiama la funzione SetWindowPosWin32 e ridisegna la finestra combinando nFlags con i quattro flag seguenti:

  • SWP_NOSIZE Mantiene le dimensioni correnti.

  • SWP_NOMOVE Mantiene la posizione corrente.

  • SWP_NOZORDER mantiene l'ordine Z corrente.

  • SWP_NOACTIVATE Non attiva la finestra.

Per modificare gli stili estesi di una finestra, chiamare ModifyStyleEx.

COleControlSite::ModifyStyleEx

Modifica gli stili estesi del controllo.

virtual BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

Parametri

dwRemove
Stili estesi da rimuovere dagli stili di finestra correnti.

dwAdd
Stili estesi da aggiungere dagli stili di finestra correnti.

Nflags
Flag di posizionamento delle finestre. Per un elenco dei valori possibili, vedere la funzione SetWindowPos in Windows SDK.

Valore restituito

Diverso da zero se gli stili vengono modificati; in caso contrario, zero.

Osservazioni:

La proprietà Aspetto azionario del controllo verrà modificata in modo che corrisponda all'impostazione per WS_EX_CLIENTEDGE. Tutti gli altri stili di finestra estesa vengono applicati direttamente all'handle della finestra del controllo, se presente.

Modifica gli stili estesi della finestra dell'oggetto sito di controllo. Gli stili da aggiungere o rimuovere possono essere combinati usando l'operatore OR bit per bit (|). Per informazioni sugli stili di finestra disponibili, vedere la funzione CreateWindowEx in Windows SDK.

Se nFlags è diverso da zero, ModifyStyleEx chiama la funzione SetWindowPosWin32 e ridisegna la finestra combinando nFlags con i quattro flag seguenti:

  • SWP_NOSIZE Mantiene le dimensioni correnti.

  • SWP_NOMOVE Mantiene la posizione corrente.

  • SWP_NOZORDER mantiene l'ordine Z corrente.

  • SWP_NOACTIVATE Non attiva la finestra.

Per modificare gli stili estesi di una finestra, chiamare ModifyStyle.

COleControlSite::MoveWindow

Modifica la posizione del controllo.

virtual void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight);

Parametri

x
Nuova posizione del lato sinistro della finestra.

y
Nuova posizione della parte superiore della finestra.

nWidth
Nuova larghezza della finestra

nHeight
Nuova altezza della finestra.

COleControlSite::QuickActivate

Attiva rapidamente il controllo contenuto.

virtual BOOL QuickActivate();

Valore restituito

Diverso da zero se il sito di controllo è stato attivato; in caso contrario, zero.

Osservazioni:

Questa funzione deve essere chiamata solo se l'utente esegue l'override del processo di creazione del controllo.

I IPersist*::Load metodi e IPersist*::InitNew devono essere chiamati dopo l'attivazione rapida. Il controllo deve stabilire le connessioni ai sink del contenitore durante l'attivazione rapida. Tuttavia, queste connessioni non sono attive fino a IPersist*::Load quando non viene chiamato o IPersist*::InitNew .

COleControlSite::Cassaforte SetProperty

Imposta la proprietà del controllo specificata da dwDispID.

virtual BOOL AFX_CDECL SafeSetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parametri

dwDispID
Identifica l'ID dispatch della proprietà o del metodo, disponibile nell'interfaccia del IDispatch controllo, da impostare.

vtProp
Specifica il tipo di proprietà da impostare. Per i valori possibili, vedere la sezione Note per COleDispatchDriver::InvokeHelper.

...
Singolo parametro del tipo specificato da vtProp.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Nota

A differenza di SetProperty e SetPropertyV, se viene rilevato un errore , ad esempio il tentativo di impostare una proprietà inesistente, non viene generata alcuna eccezione.

COleControlSite::SetDefaultButton

Imposta il controllo come pulsante predefinito.

void SetDefaultButton(BOOL bDefault);

Parametri

bDefault
Diverso da zero se il controllo deve diventare il pulsante predefinito; in caso contrario, zero.

Osservazioni:

Nota

Il controllo deve avere il bit di stato OLEMISC_ACTSLIKEBUTTON impostato.

COleControlSite::SetDlgCtrlID

Modifica il valore dell'identificatore dell'elemento della finestra di dialogo del controllo.

virtual int SetDlgCtrlID(int nID);

Parametri

nID
Nuovo valore dell'identificatore.

Valore restituito

In caso di esito positivo, l'identificatore dell'elemento della finestra di dialogo precedente; in caso contrario, 0.

Osservazioni:

COleControlSite::SetFocus

Imposta lo stato attivo sul controllo.

virtual CWnd* SetFocus();
virtual CWnd* SetFocus(LPMSG lpmsg);

Parametri

lpmsg
Puntatore a una struttura MSG. Questa struttura contiene il messaggio di Windows che attiva la SetFocus richiesta per il controllo contenuto nel sito di controllo corrente.

Valore restituito

Puntatore alla finestra che in precedenza aveva lo stato attivo.

COleControlSite::SetProperty

Imposta la proprietà del controllo specificata da dwDispID.

virtual void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parametri

dwDispID
Identifica l'ID dispatch della proprietà o del metodo, disponibile nell'interfaccia del IDispatch controllo, da impostare.

vtProp
Specifica il tipo di proprietà da impostare. Per i valori possibili, vedere la sezione Note per COleDispatchDriver::InvokeHelper.

...
Singolo parametro del tipo specificato da vtProp.

Osservazioni:

Se SetProperty si verifica un errore, viene generata un'eccezione.

Il tipo di eccezione è determinato dal valore restituito del tentativo di impostare la proprietà o il metodo . Se il valore restituito è DISP_E_EXCEPTION, viene generato un COleDispatchExcpetion oggetto ; in caso contrario, .COleException

COleControlSite::SetPropertyV

Imposta la proprietà del controllo specificata da dwDispID.

virtual void SetPropertyV(
    DISPID dwDispID,
    VARTYPE vtProp,
    va_list argList);

Parametri

dwDispID
Identifica l'ID dispatch della proprietà o del metodo, disponibile nell'interfaccia del IDispatch controllo, da impostare.

vtProp
Specifica il tipo di proprietà da impostare. Per i valori possibili, vedere la sezione Note per COleDispatchDriver::InvokeHelper.

Arglist
Puntatore all'elenco di argomenti.

Osservazioni:

È possibile passare parametri aggiuntivi per il metodo o la proprietà richiamata usando il parametro arg_list . Se SetProperty si verifica un errore, viene generata un'eccezione.

Il tipo di eccezione è determinato dal valore restituito del tentativo di impostare la proprietà o il metodo . Se il valore restituito è DISP_E_EXCEPTION, viene generato un COleDispatchExcpetion oggetto ; in caso contrario, .COleException

COleControlSite::SetWindowPos

Imposta le dimensioni, la posizione e l'ordine Z del sito di controllo.

virtual BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Parametri

pWndInsertAfter
Puntatore alla finestra.

x
Nuova posizione del lato sinistro della finestra.

y
Nuova posizione della parte superiore della finestra.

cx
Nuova larghezza della finestra

Cy
Nuova altezza della finestra.

Nflags
Specifica i flag di ridimensionamento e posizionamento della finestra. Per i valori possibili, vedere la sezione Osservazioni per SetWindowPos in Windows SDK.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, zero.

COleControlSite::SetWindowText

Imposta il testo per il sito di controllo.

virtual void SetWindowText(LPCTSTR lpszString);

Parametri

lpszString
Puntatore a una stringa con terminazione Null da usare come nuovo titolo o testo del controllo.

Osservazioni:

Questa funzione tenta prima di tutto di impostare la proprietà titolo Caption. Se la proprietà Stock Caption non è supportata, la proprietà Text viene impostata.

COleControlSite::ShowWindow

Imposta lo stato di visualizzazione della finestra.

virtual BOOL ShowWindow(int nCmdShow);

Parametri

nCmdShow
Specifica la modalità di visualizzazione del sito di controllo. Deve essere uno dei valori seguenti:

  • SW_HIDE Nasconde questa finestra e passa l'attivazione a un'altra finestra.

  • SW_MINIMIZE Riduce a icona la finestra e attiva la finestra di primo livello nell'elenco del sistema.

  • SW_RESTORE Attiva e visualizza la finestra. Se la finestra è ridotta a icona o ingrandita, Windows lo ripristina alla dimensione e alla posizione originali.

  • SW_SHOW Attiva la finestra e la visualizza nella dimensione e nella posizione correnti.

  • SW_SHOWMAXIMIZED Attiva la finestra e la visualizza come finestra ingrandita.

  • SW_SHOWMINIMIZED Attiva la finestra e la visualizza come icona.

  • SW_SHOWMINNOACTIVE Visualizza la finestra come icona. La finestra attualmente attiva rimane attiva.

  • SW_SHOWNA Visualizza la finestra nello stato corrente. La finestra attualmente attiva rimane attiva.

  • SW_SHOWNOACTIVATE Visualizza la finestra nella dimensione e nella posizione più recenti. La finestra attualmente attiva rimane attiva.

  • SW_SHOWNORMAL Attiva e visualizza la finestra. Se la finestra è ridotta a icona o ingrandita, Windows lo ripristina alla dimensione e alla posizione originali.

Valore restituito

Diverso da zero se la finestra era visibile in precedenza; 0 se la finestra è stata nascosta in precedenza.

Vedi anche

Classe CCmdTarget
Grafico della gerarchia
Classe COleControlContainer