Classe COleControlSite
Fornisce supporto per le interfacce dei controlli sul lato client personalizzate.
Sintassi
class COleControlSite : public CCmdTarget
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
COleControlSite::COleControlSite | Costruisce un oggetto COleControlSite . |
Metodi pubblici
Nome | 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::SafeSetProperty | 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
Nome | Descrizione |
---|---|
COleControlSite::GetControlInfo | Recupera le informazioni sulla tastiera e le mnemonic per il controllo ospitato. |
Membri dati pubblici
Nome | 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
. CWnd
Nella classe derivata da -per il contenitore (ad esempio, la finestra di dialogo) esegue l'override della CWnd::CreateControlSite
funzione.
Gerarchia di ereditarietà
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 CWnd
derivato 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 CWnd
derivato 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 CFile
oggetto 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
.
bStorage
Indica se i dati in pPersist devono essere interpretati come IStorage
o IStream
dati. Se i dati in pPersist sono una risorsa di archiviazione, bStorage deve essere TRUE. Se i dati in pPersist sono un flusso, bStorage deve essere FALSE. 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, FALSE.
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 è FALSE, 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 COleException
DISP_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 IOleInPlaceObject
IOleInPlaceObject del controllo.
LPOLEINPLACEOBJECT m_pInPlaceObject;
COleControlSite::m_pObject
Contiene l'interfaccia IOleObjectInterface
del controllo .
LPOLEOBJECT m_pObject;
COleControlSite::m_pWindowlessObject
Contiene l'interfaccia IOleInPlaceObjectWindowless
IOleInPlaceObjectWindowless 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 SetWindowPos
Win32 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 SetWindowPos
Win32 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::SafeSetProperty
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