Classe CComControlBase
Questa classe fornisce metodi per la creazione e la gestione di controlli ATL.
Importante
Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.
Sintassi
class ATL_NO_VTABLE CComControlBase
Membri
Typedef pubblici
Nome | Descrizione |
---|---|
CComControlBase::AppearanceType | Eseguire l'override se la m_nAppearance proprietà stock non è di tipo short . |
Costruttori pubblici
Nome | Descrizione |
---|---|
CComControlBase::CComControlBase | Costruttore. |
CComControlBase::~CComControlBase | Distruttore. |
Metodi pubblici
Nome | Descrizione |
---|---|
CComControlBase::ControlQueryInterface | Recupera un puntatore all'interfaccia richiesta. |
CComControlBase::D oesVerbActivate | Verifica che il parametro iVerb utilizzato da IOleObjectImpl::DoVerb attiva l'interfaccia utente del controllo (iVerb è uguale a OLEIVERB_UIACTIVATE), definisce l'azione eseguita quando l'utente fa doppio clic sul controllo (iVerb è uguale a OLEIVERB_PRIMARY), visualizza il controllo (iVerb è uguale a OLEIVERB_SHOW) o attiva il controllo (iVerb è uguale a OLEIVERB_INPLACEACTIVATE). |
CComControlBase::D oesVerbUIActivate | Verifica che il parametro iVerb usato da IOleObjectImpl::DoVerb causi l'attivazione dell'interfaccia utente del controllo e restituisca TRUE. |
CComControlBase::D oVerbProperties | Visualizza le pagine delle proprietà del controllo. |
CComControlBase::FireViewChange | Chiamare questo metodo per indicare al contenitore di ridisegnare il controllo o notificare ai sink registrati che la visualizzazione del controllo è stata modificata. |
CComControlBase::GetAmbientAppearance | Recupera DISPID_AMBIENT_APPEARANCE, l'impostazione dell'aspetto corrente per il controllo: 0 per flat e 1 per 3D. |
CComControlBase::GetAmbientAutoClip | Recupera DISPID_AMBIENT_AUTOCLIP, un flag che indica se il contenitore supporta il ritaglio automatico dell'area di visualizzazione del controllo. |
CComControlBase::GetAmbientBackColor | Recupera DISPID_AMBIENT_BACKCOLOR, il colore di sfondo ambientale per tutti i controlli, definiti dal contenitore. |
CComControlBase::GetAmbientCharSet | Recupera DISPID_AMBIENT_CHARSET, il set di caratteri di ambiente per tutti i controlli, definito dal contenitore. |
CComControlBase::GetAmbientCodePage | Recupera DISPID_AMBIENT_CODEPAGE, il set di caratteri di ambiente per tutti i controlli, definito dal contenitore. |
CComControlBase::GetAmbientDisplayAsDefault | Recupera DISPID_AMBIENT_DISPLAYASDEFAULT, un flag TRUE se il contenitore ha contrassegnato il controllo in questo sito come pulsante predefinito e pertanto un controllo pulsante deve disegnare se stesso con una cornice più spessa. |
CComControlBase::GetAmbientDisplayName | Recupera DISPID_AMBIENT_DISPLAYNAME, il nome fornito dal contenitore al controllo. |
CComControlBase::GetAmbientFont | Recupera un puntatore all'interfaccia di ambiente IFont del contenitore. |
CComControlBase::GetAmbientFontDisp | Recupera un puntatore all'interfaccia di invio ambientale IFontDisp del contenitore. |
CComControlBase::GetAmbientForeColor | Recupera DISPID_AMBIENT_FORECOLOR, il colore di primo piano di ambiente per tutti i controlli, definiti dal contenitore. |
CComControlBase::GetAmbientLocaleID | Recupera DISPID_AMBIENT_LOCALEID, l'identificatore della lingua usata dal contenitore. |
CComControlBase::GetAmbientMessageReflect | Recupera DISPID_AMBIENT_MESSAGEREFLECT, un flag che indica se il contenitore desidera ricevere messaggi di finestra,ad esempio WM_DRAWITEM, come eventi. |
CComControlBase::GetAmbientPalette | Recupera DISPID_AMBIENT_PALETTE, usato per accedere all'HPALETTE del contenitore. |
CComControlBase::GetAmbientProperty | Recupera la proprietà del contenitore specificata dall'ID. |
CComControlBase::GetAmbientRightToLeft | Recupera DISPID_AMBIENT_RIGHTTOLEFT, la direzione in cui il contenuto viene visualizzato dal contenitore. |
CComControlBase::GetAmbientScaleUnits | Recupera DISPID_AMBIENT_SCALEUNITS, le unità di ambiente del contenitore (ad esempio pollici o centimetri) per la visualizzazione delle etichette. |
CComControlBase::GetAmbientShowGrabHandles | Recupera DISPID_AMBIENT_SHOWGRABHANDLES, un flag che indica se il contenitore consente al controllo di visualizzare handle di afferramento per se stesso quando è attivo. |
CComControlBase::GetAmbientShowHatching | Recupera DISPID_AMBIENT_SHOWHATCHING, un flag che indica se il contenitore consente al controllo di visualizzare se stesso con un modello tratteggio quando l'interfaccia utente è attiva. |
CComControlBase::GetAmbientSupportsMnemonics | Recupera DISPID_AMBIENT_SUPPORTSMNEMONICS, un flag che indica se il contenitore supporta la tastiera mnemonics. |
CComControlBase::GetAmbientTextAlign | Recupera DISPID_AMBIENT_TEXTALIGN, l'allineamento del testo preferito dal contenitore: 0 per l'allineamento generale (numeri a destra, testo a sinistra), 1 per l'allineamento sinistro, 2 per l'allineamento al centro e 3 per l'allineamento a destra. |
CComControlBase::GetAmbientTopToBottom | Recupera DISPID_AMBIENT_TOPTOBOTTOM, la direzione in cui il contenuto viene visualizzato dal contenitore. |
CComControlBase::GetAmbientUIDead | Recupera DISPID_AMBIENT_UIDEAD, un flag che indica se il contenitore desidera che il controllo risponda alle azioni dell'interfaccia utente. |
CComControlBase::GetAmbientUserMode | Recupera DISPID_AMBIENT_USERMODE, un flag che indica se il contenitore è in modalità di esecuzione (TRUE) o in modalità progettazione (FALSE). |
CComControlBase::GetDirty | Restituisce il valore del membro m_bRequiresSave dati . |
CComControlBase::GetZoomInfo | Recupera i valori x e y del numeratore e del denominatore del fattore di zoom per un controllo attivato per la modifica sul posto. |
CComControlBase::InPlaceActivate | Fa sì che il controllo passi dallo stato inattivo a qualsiasi stato indicato dal verbo in iVerb . |
CComControlBase::InternalGetSite | Chiamare questo metodo per eseguire una query sul sito di controllo per un puntatore all'interfaccia identificata. |
CComControlBase::OnDraw | Eseguire l'override di questo metodo per disegnare il controllo. |
CComControlBase::OnDrawAdvanced | L'impostazione predefinita OnDrawAdvanced prepara un contesto di dispositivo normalizzato per il disegno, quindi chiama il metodo della classe di OnDraw controllo. |
CComControlBase::OnKillFocus | Verifica che il controllo sia attivo sul posto e abbia un sito di controllo valido, quindi informa il contenitore che il controllo ha perso lo stato attivo. |
CComControlBase::OnMouseActivate | Verifica che l'interfaccia utente sia in modalità utente, quindi attiva il controllo. |
CComControlBase::OnPaint | Prepara il contenitore per disegnare, ottiene l'area client del controllo, quindi chiama il metodo della classe di OnDraw controllo. |
CComControlBase::OnSetFocus | Verifica che il controllo sia attivo sul posto e abbia un sito di controllo valido, quindi informa il contenitore che il controllo ha ottenuto lo stato attivo. |
CComControlBase::P reTranslateAccelerator | Eseguire l'override di questo metodo per fornire gestori dell'acceleratore di tastiera personalizzati. |
CComControlBase::SendOnClose | Notifica a tutti i sink consultivi registrati con il titolare del consiglio che il controllo è stato chiuso. |
CComControlBase::SendOnDataChange | Notifica a tutti i sink consultivi registrati con il titolare del consiglio che i dati di controllo sono stati modificati. |
CComControlBase::SendOnRename | Notifica a tutti i sink consultivi registrati con il titolare del consiglio che il controllo ha un nuovo moniker. |
CComControlBase::SendOnSave | Notifica a tutti i sink consultivi registrati con il titolare del consiglio che il controllo è stato salvato. |
CComControlBase::SendOnViewChange | Notifica a tutti i sink di avviso registrati che la visualizzazione del controllo è cambiata. |
CComControlBase::SetControlFocus | Imposta o rimuove lo stato attivo della tastiera da o verso il controllo . |
CComControlBase::SetDirty | Imposta il membro m_bRequiresSave dati sul valore in bDirty. |
Membri dati pubblici
Nome | Descrizione |
---|---|
CComControlBase::m_bAutoSize | Flag che indica che il controllo non può essere di altre dimensioni. |
CComControlBase::m_bDrawFromNatural | Flag che indica che IDataObjectImpl::GetData e CComControlBase::GetZoomInfo devono impostare le dimensioni del controllo da m_sizeNatural anziché da m_sizeExtent . |
CComControlBase::m_bDrawGetDataInHimetric | Flag che indica che IDataObjectImpl::GetData deve utilizzare unità HIMETRIC e non pixel durante il disegno. |
CComControlBase::m_bInPlaceActive | Flag che indica che il controllo è attivo sul posto. |
CComControlBase::m_bInPlaceSiteEx | Flag che indica che il contenitore supporta le funzionalità di IOleInPlaceSiteEx controllo INTERFACE e OCX96, ad esempio controlli senza finestra e senza sfarfallio. |
CComControlBase::m_bNegotiatedWnd | Flag che indica se il controllo ha negoziato con il contenitore il supporto per le funzionalità di controllo RTF96 (ad esempio controlli senza sfarfallio e senza finestra) e se il controllo è finestrato o senza finestra. |
CComControlBase::m_bRecomposeOnResize | Flag che indica che il controllo vuole ricomporre la presentazione quando il contenitore modifica le dimensioni di visualizzazione del controllo. |
CComControlBase::m_bRequiresSave | Flag che indica che il controllo è stato modificato dopo l'ultimo salvataggio. |
CComControlBase::m_bResizeNatural | Flag che indica che il controllo vuole ridimensionare l'extent naturale (dimensioni fisiche non ridimensionate) quando il contenitore modifica le dimensioni di visualizzazione del controllo. |
CComControlBase::m_bUIActive | Flag che indica l'interfaccia utente del controllo, ad esempio menu e barre degli strumenti, è attiva. |
CComControlBase::m_bUsingWindowRgn | Flag che indica che il controllo usa l'area della finestra fornita dal contenitore. |
CComControlBase::m_bWasOnceWindowless | Flag che indica che il controllo è stato senza finestra, ma può essere o meno senza finestra ora. |
CComControlBase::m_bWindowOnly | Flag che indica che il controllo deve essere finestrato, anche se il contenitore supporta controlli senza finestra. |
CComControlBase::m_bWndLess | Flag che indica che il controllo è senza finestra. |
CComControlBase::m_hWndCD | Contiene un riferimento all'handle di finestra associato al controllo . |
CComControlBase::m_nFreezeEvents | Un conteggio del numero di volte in cui il contenitore ha bloccato gli eventi (rifiutati di accettare eventi) senza un'intersezione di eventi (accettazione degli eventi). |
CComControlBase::m_rcPos | Posizione in pixel del controllo, espressa nelle coordinate del contenitore. |
CComControlBase::m_sizeExtent | L'estensione del controllo in unità HIMETRIC (ogni unità è di 0,01 millimetri) per un particolare display. |
CComControlBase::m_sizeNatural | Dimensioni fisiche del controllo in unità HIMETRIC (ogni unità è 0,01 millimetri). |
CComControlBase::m_spAdviseSink | Puntatore diretto alla connessione consultiva nel contenitore (IAdviseSink del contenitore). |
CComControlBase::m_spAmbientDispatch | Oggetto CComDispatchDriver che consente di recuperare e impostare le proprietà del contenitore tramite un IDispatch puntatore. |
CComControlBase::m_spClientSite | Puntatore al sito client del controllo all'interno del contenitore. |
CComControlBase::m_spDataAdviseHolder | Fornisce uno standard per contenere connessioni consultive tra gli oggetti dati e consigliare i sink. |
CComControlBase::m_spInPlaceSite | Puntatore al puntatore dell'interfaccia IOleInPlaceSite, IOleInPlaceSiteEx o IOleInPlaceSiteWindowless del contenitore. |
CComControlBase::m_spOleAdviseHolder | Fornisce un'implementazione standard di un modo per contenere le connessioni consultive. |
Osservazioni:
Questa classe fornisce metodi per la creazione e la gestione di controlli ATL. La classe CComControl deriva da CComControlBase
. Quando si crea un controllo Standard o DHTML tramite la Creazione guidata controllo ATL, la procedura guidata deriva automaticamente la classe da CComControlBase
.
Per altre informazioni sulla creazione di un controllo, vedere l'esercitazione su ATL. Per altre informazioni sulla Creazione guidata progetto ATL, vedere l'articolo Creazione di un progetto ATL.
Requisiti
Intestazione: atlctl.h
CComControlBase::AppearanceType
Eseguire l'override se la m_nAppearance
proprietà stock non è di tipo short
.
typedef short AppearanceType;
Osservazioni:
La Creazione guidata controllo ATL aggiunge m_nAppearance
la proprietà stock di tipo short. Eseguire l'override AppearanceType
se si usa un tipo di dati diverso.
CComControlBase::CComControlBase
Costruttore.
CComControlBase(HWND& h);
Parametri
h
Handle della finestra associata al controllo .
Osservazioni:
Inizializza le dimensioni del controllo su 5080X5080 unità HIMETRIC (2"X2") e inizializza i CComControlBase
valori dei membri dati su NULL o FALSE.
CComControlBase::~CComControlBase
Distruttore.
~CComControlBase();
Osservazioni:
Se il controllo viene finestrato, ~CComControlBase
lo elimina chiamando DestroyWindow.
CComControlBase::ControlQueryInterface
Recupera un puntatore all'interfaccia richiesta.
virtual HRESULT ControlQueryInterface(const IID& iid,
void** ppv);
Parametri
iid
GUID dell'interfaccia richiesta.
ppv
Puntatore al puntatore dell'interfaccia identificato da iid o NULL se l'interfaccia non viene trovata.
Osservazioni:
Gestisce solo le interfacce nella tabella mappa COM.
Esempio
// Retrieve the control's IOleObject interface. Note interface
// is automatically released when pOleObject goes out of scope
CComPtr<IOleObject> pOleObject;
ControlQueryInterface(IID_IOleObject, (void**)&pOleObject);
CComControlBase::D oesVerbActivate
Verifica che il parametro iVerb utilizzato da IOleObjectImpl::DoVerb
attiva l'interfaccia utente del controllo (iVerb è uguale a OLEIVERB_UIACTIVATE), definisce l'azione eseguita quando l'utente fa doppio clic sul controllo (iVerb è uguale a OLEIVERB_PRIMARY), visualizza il controllo (iVerb è uguale a OLEIVERB_SHOW) o attiva il controllo (iVerb è uguale a OLEIVERB_INPLACEACTIVATE).
BOOL DoesVerbActivate(LONG iVerb);
Parametri
iVerb
Valore che indica l'azione da eseguire da DoVerb
.
Valore restituito
Restituisce TRUE se iVerb è uguale a OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW o OLEIVERB_INPLACEACTIVATE; in caso contrario, restituisce FALSE.
Osservazioni:
È possibile eseguire l'override di questo metodo per definire il verbo di attivazione.
CComControlBase::D oesVerbUIActivate
Verifica che il parametro iVerb usato da IOleObjectImpl::DoVerb
causi l'attivazione dell'interfaccia utente del controllo e restituisca TRUE.
BOOL DoesVerbUIActivate(LONG iVerb);
Parametri
iVerb
Valore che indica l'azione da eseguire da DoVerb
.
Valore restituito
Restituisce TRUE se iVerb è uguale a OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW o OLEIVERB_INPLACEACTIVATE. In caso contrario, il metodo restituisce FALSE.
CComControlBase::D oVerbProperties
Visualizza le pagine delle proprietà del controllo.
HRESULT DoVerbProperties(LPCRECT /* prcPosRect */, HWND hwndParent);
Parametri
prcPosRec
Riservato.
hwndParent
Handle della finestra contenente il controllo .
Valore restituito
Uno dei valori HRESULT standard.
Esempio
// The following implementation of the WM_RBUTTONDOWN message handler
// will pop up the ActiveX Control's PropertyPages
LRESULT CMyComposite::OnRButtonDown(UINT /*uMsg*/, WPARAM /*wParam*/,
LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
DoVerbProperties(NULL, ::GetActiveWindow());
return 0L;
}
MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRButtonDown)
CComControlBase::FireViewChange
Chiamare questo metodo per indicare al contenitore di ridisegnare il controllo o notificare ai sink registrati che la visualizzazione del controllo è stata modificata.
HRESULT FireViewChange();
Valore restituito
Uno dei valori HRESULT standard.
Osservazioni:
Se il controllo è attivo (il membro dati della classe di controllo CComControlBase::m_bInPlaceActive è TRUE), notifica al contenitore che si desidera ridisegnare l'intero controllo. Se il controllo è inattivo, notifica ai sink registrati del controllo (tramite il membro dati della classe di controllo CComControlBase::m_spAdviseSink) che la visualizzazione del controllo è stata modificata.
Esempio
STDMETHODIMP CMyControl::put_Shape(int newVal)
{
// store newVal in m_nShape user-defined member
m_nShape = newVal;
// notify container to redraw control
FireViewChange();
return S_OK;
}
CComControlBase::GetAmbientAppearance
Recupera DISPID_AMBIENT_APPEARANCE, l'impostazione dell'aspetto corrente per il controllo: 0 per flat e 1 per 3D.
HRESULT GetAmbientAppearance(short& nAppearance);
Parametri
nAppearance
Proprietà DISPID_AMBIENT_APPEARANCE.
Valore restituito
Uno dei valori HRESULT standard.
Esempio
HRESULT OnDraw(ATL_DRAWINFO& di)
{
short nAppearance;
RECT& rc = *(RECT*)di.prcBounds;
// draw 3D border if AmbientAppearance is not supported or is set to 1
HRESULT hr = GetAmbientAppearance(nAppearance);
if (hr != S_OK || nAppearance==1)
{
DrawEdge(di.hdcDraw, &rc, EDGE_SUNKEN, BF_RECT);
}
else
{
Rectangle(di.hdcDraw, rc.left, rc.top, rc.right, rc.bottom);
}
SetTextAlign(di.hdcDraw, TA_CENTER|TA_BASELINE);
LPCTSTR pszText = _T("ATL 8.0 : MyControl");
// For security reasons, we recommend that you use the lstrlen function
// with caution. Here, we can guarantee that pszText is NULL terminated,
// and therefore it is safe to use this function.
TextOut(di.hdcDraw,
(rc.left + rc.right) / 2,
(rc.top + rc.bottom) / 2,
pszText,
lstrlen(pszText));
return S_OK;
}
CComControlBase::GetAmbientAutoClip
Recupera DISPID_AMBIENT_AUTOCLIP, un flag che indica se il contenitore supporta il ritaglio automatico dell'area di visualizzazione del controllo.
HRESULT GetAmbientAutoClip(BOOL& bAutoClip);
Parametri
bAutoClip
Proprietà DISPID_AMBIENT_AUTOCLIP.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientBackColor
Recupera DISPID_AMBIENT_BACKCOLOR, il colore di sfondo ambientale per tutti i controlli, definiti dal contenitore.
HRESULT GetAmbientBackColor(OLE_COLOR& BackColor);
Parametri
BackColor
Proprietà DISPID_AMBIENT_BACKCOLOR.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientCharSet
Recupera DISPID_AMBIENT_CHARSET, il set di caratteri di ambiente per tutti i controlli, definito dal contenitore.
HRESULT GetAmbientCharSet(BSTR& bstrCharSet);
Parametri
bstrCharSet
Proprietà DISPID_AMBIENT_CHARSET.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
CComControlBase::GetAmbientCodePage
Recupera DISPID_AMBIENT_CODEPAGE, la tabella codici di ambiente per tutti i controlli, definita dal contenitore.
HRESULT GetAmbientCodePage(ULONG& ulCodePage);
Parametri
ulCodePage
Proprietà DISPID_AMBIENT_CODEPAGE.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
CComControlBase::GetAmbientDisplayAsDefault
Recupera DISPID_AMBIENT_DISPLAYASDEFAULT, un flag TRUE se il contenitore ha contrassegnato il controllo in questo sito come pulsante predefinito e pertanto un controllo pulsante deve disegnare se stesso con una cornice più spessa.
HRESULT GetAmbientDisplayAsDefault(BOOL& bDisplayAsDefault);
Parametri
bDisplayAsDefault
Proprietà DISPID_AMBIENT_DISPLAYASDEFAULT.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientDisplayName
Recupera DISPID_AMBIENT_DISPLAYNAME, il nome fornito dal contenitore al controllo.
HRESULT GetAmbientDisplayName(BSTR& bstrDisplayName);
Parametri
bstrDisplayName
Proprietà DISPID_AMBIENT_DISPLAYNAME.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientFont
Recupera un puntatore all'interfaccia di ambiente IFont
del contenitore.
HRESULT GetAmbientFont(IFont** ppFont);
Parametri
ppFont
Puntatore all'interfaccia IFont ambientale del contenitore.
Valore restituito
Uno dei valori HRESULT standard.
Osservazioni:
Se la proprietà è NULL, il puntatore è NULL. Se il puntatore non è NULL, il chiamante deve rilasciare il puntatore.
CComControlBase::GetAmbientFontDisp
Recupera un puntatore all'interfaccia di invio ambientale IFontDisp
del contenitore.
HRESULT GetAmbientFontDisp(IFontDisp** ppFont);
Parametri
ppFont
Puntatore all'interfaccia dispatch IFontDisp ambientale del contenitore.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
Osservazioni:
Se la proprietà è NULL, il puntatore è NULL. Se il puntatore non è NULL, il chiamante deve rilasciare il puntatore.
CComControlBase::GetAmbientForeColor
Recupera DISPID_AMBIENT_FORECOLOR, il colore di primo piano di ambiente per tutti i controlli, definiti dal contenitore.
HRESULT GetAmbientForeColor(OLE_COLOR& ForeColor);
Parametri
ForeColor
Proprietà DISPID_AMBIENT_FORECOLOR.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientLocaleID
Recupera DISPID_AMBIENT_LOCALEID, l'identificatore della lingua usata dal contenitore.
HRESULT GetAmbientLocaleID(LCID& lcid);
Parametri
lcid
Proprietà DISPID_AMBIENT_LOCALEID.
Valore restituito
Uno dei valori HRESULT standard.
Osservazioni:
Il controllo può usare questo identificatore per adattare l'interfaccia utente a lingue diverse.
CComControlBase::GetAmbientMessageReflect
Recupera DISPID_AMBIENT_MESSAGEREFLECT, un flag che indica se il contenitore desidera ricevere messaggi della finestra ( ad esempio WM_DRAWITEM
) come eventi.
HRESULT GetAmbientMessageReflect(BOOL& bMessageReflect);
Parametri
bMessageReflect
Proprietà DISPID_AMBIENT_MESSAGEREFLECT.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientPalette
Recupera DISPID_AMBIENT_PALETTE, usato per accedere all'HPALETTE del contenitore.
HRESULT GetAmbientPalette(HPALETTE& hPalette);
Parametri
hPalette
Proprietà DISPID_AMBIENT_PALETTE.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientProperty
Recupera la proprietà contenitore specificata da dispid.
HRESULT GetAmbientProperty(DISPID dispid, VARIANT& var);
Parametri
dispid
Identificatore della proprietà contenitore da recuperare.
var
Variabile per ricevere la proprietà .
Valore restituito
Uno dei valori HRESULT standard.
Osservazioni:
ATL ha fornito un set di funzioni helper per recuperare proprietà specifiche, ad esempio CComControlBase::GetAmbientBackColor. Se non è disponibile alcun metodo appropriato, usare GetAmbientProperty
.
CComControlBase::GetAmbientRightToLeft
Recupera DISPID_AMBIENT_RIGHTTOLEFT, la direzione in cui il contenuto viene visualizzato dal contenitore.
HRESULT GetAmbientRightToLeft(BOOL& bRightToLeft);
Parametri
bRightToLeft
Proprietà DISPID_AMBIENT_RIGHTTOLEFT. Impostare su TRUE se il contenuto viene visualizzato da destra a sinistra, FALSE se viene visualizzato da sinistra a destra.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
CComControlBase::GetAmbientScaleUnits
Recupera DISPID_AMBIENT_SCALEUNITS, le unità di ambiente del contenitore (ad esempio pollici o centimetri) per la visualizzazione delle etichette.
HRESULT GetAmbientScaleUnits(BSTR& bstrScaleUnits);
Parametri
bstrScaleUnits
Proprietà DISPID_AMBIENT_SCALEUNITS.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientShowGrabHandles
Recupera DISPID_AMBIENT_SHOWGRABHANDLES, un flag che indica se il contenitore consente al controllo di visualizzare handle di afferramento per se stesso quando è attivo.
HRESULT GetAmbientShowGrabHandles(BOOL& bShowGrabHandles);
Parametri
bShowGrabHandles
Proprietà DISPID_AMBIENT_SHOWGRABHANDLES.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientShowHatching
Recupera DISPID_AMBIENT_SHOWHATCHING, un flag che indica se il contenitore consente al controllo di visualizzarsi con un motivo tratteggio quando l'interfaccia utente del controllo è attiva.
HRESULT GetAmbientShowHatching(BOOL& bShowHatching);
Parametri
bShowHatching
Proprietà DISPID_AMBIENT_SHOWHATCHING.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientSupportsMnemonics
Recupera DISPID_AMBIENT_SUPPORTSMNEMONICS, un flag che indica se il contenitore supporta la tastiera mnemonics.
HRESULT GetAmbientSupportsMnemonics(BOOL& bSupportsMnemonics);
Parametri
bSupportsMnemonics
Proprietà DISPID_AMBIENT_SUPPORTSMNEMONICS.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientTextAlign
Recupera DISPID_AMBIENT_TEXTALIGN, l'allineamento del testo preferito dal contenitore: 0 per l'allineamento generale (numeri a destra, testo a sinistra), 1 per l'allineamento sinistro, 2 per l'allineamento al centro e 3 per l'allineamento a destra.
HRESULT GetAmbientTextAlign(short& nTextAlign);
Parametri
nTextAlign
Proprietà DISPID_AMBIENT_TEXTALIGN.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetAmbientTopToBottom
Recupera DISPID_AMBIENT_TOPTOBOTTOM, la direzione in cui il contenuto viene visualizzato dal contenitore.
HRESULT GetAmbientTopToBottom(BOOL& bTopToBottom);
Parametri
bTopToBottom
Proprietà DISPID_AMBIENT_TOPTOBOTTOM. Impostare su TRUE se il testo viene visualizzato dall'alto verso il basso, FALSE se viene visualizzato in basso in alto.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
CComControlBase::GetAmbientUIDead
Recupera DISPID_AMBIENT_UIDEAD, un flag che indica se il contenitore desidera che il controllo risponda alle azioni dell'interfaccia utente.
HRESULT GetAmbientUIDead(BOOL& bUIDead);
Parametri
bUIDead
Proprietà DISPID_AMBIENT_UIDEAD.
Valore restituito
Uno dei valori HRESULT standard.
Osservazioni:
Se TRUE, il controllo non deve rispondere. Questo flag si applica indipendentemente dal flag DISPID_AMBIENT_USERMODE. Vedere CComControlBase::GetAmbientUserMode.
CComControlBase::GetAmbientUserMode
Recupera DISPID_AMBIENT_USERMODE, un flag che indica se il contenitore è in modalità di esecuzione (TRUE) o in modalità progettazione (FALSE).
HRESULT GetAmbientUserMode(BOOL& bUserMode);
Parametri
bUserMode
Proprietà DISPID_AMBIENT_USERMODE.
Valore restituito
Uno dei valori HRESULT standard.
CComControlBase::GetDirty
Restituisce il valore del membro m_bRequiresSave
dati .
BOOL GetDirty();
Valore restituito
Restituisce il valore del membro dati m_bRequiresSave.
Osservazioni:
Questo valore viene impostato usando CComControlBase::SetDirty.
CComControlBase::GetZoomInfo
Recupera i valori x e y del numeratore e del denominatore del fattore di zoom per un controllo attivato per la modifica sul posto.
void GetZoomInfo(ATL_DRAWINFO& di);
Parametri
di
Struttura che conterrà il numeratore e il denominatore del fattore di zoom. Per altre informazioni, vedere ATL_DRAWINFO.
Osservazioni:
Il fattore di zoom è la proporzione delle dimensioni naturali del controllo fino all'estensione corrente.
CComControlBase::InPlaceActivate
Fa sì che il controllo passi dallo stato inattivo a qualsiasi stato indicato dal verbo in iVerb .
HRESULT InPlaceActivate(LONG iVerb, const RECT* prcPosRect = NULL);
Parametri
iVerb
Valore che indica l'azione da eseguire da IOleObjectImpl::D oVerb.
prcPosRect
Puntatore alla posizione del controllo sul posto.
Valore restituito
Uno dei valori HRESULT standard.
Osservazioni:
Prima dell'attivazione, questo metodo verifica che il controllo disponga di un sito client, controlla la quantità di controllo visibile e ottiene la posizione del controllo nella finestra padre. Dopo l'attivazione del controllo, questo metodo attiva l'interfaccia utente del controllo e indica al contenitore di rendere visibile il controllo.
Questo metodo recupera anche un IOleInPlaceSite
puntatore di interfaccia , IOleInPlaceSiteEx
o IOleInPlaceSiteWindowless
per il controllo e lo archivia nel membro dati della classe di controllo CComControlBase::m_spInPlaceSite. I membri dati della classe di controllo CComControlBase::m_bInPlaceSiteEx, CComControlBase::m_bWndLess, CComControlBase::m_bWasOnceWindowless e CComControlBase::m_bNegotiatedWnd sono impostati su true in base alle esigenze.
CComControlBase::InternalGetSite
Chiamare questo metodo per eseguire una query sul sito di controllo per un puntatore all'interfaccia identificata.
HRESULT InternalGetSite(REFIID riid, void** ppUnkSite);
Parametri
riid
IID del puntatore all'interfaccia che deve essere restituito in ppUnkSite.
ppUnkSite
Indirizzo della variabile del puntatore che riceve il puntatore dell'interfaccia richiesto in riid.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
Osservazioni:
Se il sito supporta l'interfaccia richiesta in riid, il puntatore viene restituito tramite ppUnkSite. In caso contrario, ppUnkSite è impostato su NULL.
CComControlBase::m_bAutoSize
Flag che indica che il controllo non può essere di altre dimensioni.
unsigned m_bAutoSize:1;
Osservazioni:
Questo flag viene controllato da IOleObjectImpl::SetExtent
e, se TRUE, fa sì che la funzione restituisca E_FAIL.
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
Se si aggiunge l'opzione Dimensioni automatiche nella scheda Proprietà predefinite della Creazione guidata controllo ATL, la procedura guidata crea automaticamente questo membro dati nella classe di controllo, crea metodi put e get per la proprietà e supporta IPropertyNotifySink per notificare automaticamente al contenitore quando la proprietà viene modificata.
CComControlBase::m_bDrawFromNatural
Flag che indica che IDataObjectImpl::GetData
e CComControlBase::GetZoomInfo
devono impostare le dimensioni del controllo da m_sizeNatural
anziché da m_sizeExtent
.
unsigned m_bDrawFromNatural:1;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_bDrawGetDataInHimetric
Flag che indica che IDataObjectImpl::GetData
deve utilizzare unità HIMETRIC e non pixel durante il disegno.
unsigned m_bDrawGetDataInHimetric:1;
Osservazioni:
Ogni unità HIMETRIC logica è 0,01 millimetri.
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_bInPlaceActive
Flag che indica che il controllo è attivo sul posto.
unsigned m_bInPlaceActive:1;
Osservazioni:
Ciò significa che il controllo è visibile e la relativa finestra, se presente, è visibile, ma i relativi menu e barre degli strumenti potrebbero non essere attivi. Il m_bUIActive
flag indica che l'interfaccia utente del controllo, ad esempio i menu, è attiva.
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_bInPlaceSiteEx
Flag che indica che il contenitore supporta le funzionalità di IOleInPlaceSiteEx
controllo INTERFACE e OCX96, ad esempio controlli senza finestra e senza sfarfallio.
unsigned m_bInPlaceSiteEx:1;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
Il membro m_spInPlaceSite
dati punta a un'interfaccia IOleInPlaceSite, IOleInPlaceSiteEx o IOleInPlaceSiteWindowless , a seconda del valore dei m_bWndLess
flag e m_bInPlaceSiteEx
. Il membro m_bNegotiatedWnd
dati deve essere TRUE affinché il m_spInPlaceSite
puntatore sia valido.
Se m_bWndLess
è FALSE ed m_bInPlaceSiteEx
è TRUE, m_spInPlaceSite
è un puntatore all'interfaccia IOleInPlaceSiteEx
. Vedere m_spInPlaceSite per una tabella che mostra la relazione tra questi tre membri dati.
CComControlBase::m_bNegotiatedWnd
Flag che indica se il controllo ha negoziato con il contenitore il supporto per le funzionalità di controllo RTF96 (ad esempio controlli senza sfarfallio e senza finestra) e se il controllo è finestrato o senza finestra.
unsigned m_bNegotiatedWnd:1;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
Il m_bNegotiatedWnd
flag deve essere TRUE affinché il m_spInPlaceSite
puntatore sia valido.
CComControlBase::m_bRecomposeOnResize
Flag che indica che il controllo vuole ricomporre la presentazione quando il contenitore modifica le dimensioni di visualizzazione del controllo.
unsigned m_bRecomposeOnResize:1;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
Questo flag viene controllato da IOleObjectImpl::SetExtent e, se TRUE, SetExtent
invia una notifica al contenitore delle modifiche della visualizzazione. se questo flag è impostato, deve essere impostato anche il bit OLEMISC_RECOMPOSEONRESIZE nell'enumerazione OLEMISC .
CComControlBase::m_bRequiresSave
Flag che indica che il controllo è stato modificato dopo l'ultimo salvataggio.
unsigned m_bRequiresSave:1;
Osservazioni:
Il valore di m_bRequiresSave
può essere impostato con CComControlBase::SetDirty e recuperato con CComControlBase::GetDirty.
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_bResizeNatural
Flag che indica che il controllo vuole ridimensionare l'extent naturale (dimensioni fisiche non ridimensionate) quando il contenitore modifica le dimensioni di visualizzazione del controllo.
unsigned m_bResizeNatural:1;
Osservazioni:
Questo flag viene controllato da IOleObjectImpl::SetExtent
e, se TRUE, le dimensioni passate a SetExtent
vengono assegnate a m_sizeNatural
.
Le dimensioni passate a SetExtent
vengono sempre assegnate a m_sizeExtent
, indipendentemente dal valore di m_bResizeNatural
.
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_bUIActive
Flag che indica l'interfaccia utente del controllo, ad esempio menu e barre degli strumenti, è attiva.
unsigned m_bUIActive:1;
Osservazioni:
Il m_bInPlaceActive
flag indica che il controllo è attivo, ma non che l'interfaccia utente è attiva.
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_bUsingWindowRgn
Flag che indica che il controllo usa l'area della finestra fornita dal contenitore.
unsigned m_bUsingWindowRgn:1;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_bWasOnceWindowless
Flag che indica che il controllo è stato senza finestra, ma può essere o meno senza finestra ora.
unsigned m_bWasOnceWindowless:1;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_bWindowOnly
Flag che indica che il controllo deve essere finestrato, anche se il contenitore supporta controlli senza finestra.
unsigned m_bWindowOnly:1;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_bWndLess
Flag che indica che il controllo è senza finestra.
unsigned m_bWndLess:1;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
Il membro m_spInPlaceSite
dati punta a un'interfaccia IOleInPlaceSite, IOleInPlaceSiteEx o IOleInPlaceSiteWindowless , a seconda del valore dei m_bWndLess
flag e CComControlBase::m_bInPlaceSiteEx . (Membro datiCComControlBase::m_bNegotiatedWnd deve essere TRUE affinché il puntatore CComControlBase::m_spInPlaceSite sia valido.
Se m_bWndLess
è TRUE, m_spInPlaceSite
è un puntatore all'interfaccia IOleInPlaceSiteWindowless
. Per una tabella che mostra la relazione completa tra questi membri dati, vedere CComControlBase::m_spInPlaceSite .
CComControlBase::m_hWndCD
Contiene un riferimento all'handle di finestra associato al controllo .
HWND& m_hWndCD;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_nFreezeEvents
Un conteggio del numero di volte in cui il contenitore ha bloccato gli eventi (rifiutati di accettare eventi) senza un'intersezione di eventi (accettazione degli eventi).
short m_nFreezeEvents;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_rcPos
Posizione in pixel del controllo, espressa nelle coordinate del contenitore.
RECT m_rcPos;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_sizeExtent
L'estensione del controllo in unità HIMETRIC (ogni unità è di 0,01 millimetri) per un particolare display.
SIZE m_sizeExtent;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
Questa dimensione viene ridimensionata in base allo schermo. Le dimensioni fisiche del controllo sono specificate nel m_sizeNatural
membro dati e sono fisse.
È possibile convertire le dimensioni in pixel con la funzione globale AtlHiMetricToPixel.
CComControlBase::m_sizeNatural
Dimensioni fisiche del controllo in unità HIMETRIC (ogni unità è 0,01 millimetri).
SIZE m_sizeNatural;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
Questa dimensione è fissa, mentre la dimensione in m_sizeExtent
è ridimensionata dal display.
È possibile convertire le dimensioni in pixel con la funzione globale AtlHiMetricToPixel.
CComControlBase::m_spAdviseSink
Puntatore diretto alla connessione consultiva nel contenitore (IAdviseSink del contenitore).
CComPtr<IAdviseSink>
m_spAdviseSink;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_spAmbientDispatch
Oggetto CComDispatchDriver
che consente di recuperare e impostare le proprietà di un oggetto tramite un IDispatch
puntatore.
CComDispatchDriver m_spAmbientDispatch;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_spClientSite
Puntatore al sito client del controllo all'interno del contenitore.
CComPtr<IOleClientSite>
m_spClientSite;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
CComControlBase::m_spDataAdviseHolder
Fornisce uno standard per contenere connessioni consultive tra gli oggetti dati e consigliare i sink.
CComPtr<IDataAdviseHolder>
m_spDataAdviseHolder;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
Un oggetto dati è un controllo in grado di trasferire dati e che implementa IDataObject, i cui metodi specificano il formato e il supporto di trasferimento dei dati.
L'interfaccia m_spDataAdviseHolder
implementa i metodi IDataObject::D Advise e IDataObject::D Unadvise per stabilire ed eliminare connessioni consultive al contenitore. Il contenitore del controllo deve implementare un sink di avviso supportando l'interfaccia IAdviseSink .
CComControlBase::m_spInPlaceSite
Puntatore al puntatore dell'interfaccia IOleInPlaceSite, IOleInPlaceSiteEx o IOleInPlaceSiteWindowless del contenitore.
CComPtr<IOleInPlaceSiteWindowless>
m_spInPlaceSite;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
Il m_spInPlaceSite
puntatore è valido solo se il flag m_bNegotiatedWnd è TRUE.
Nella tabella seguente viene illustrato come il m_spInPlaceSite
tipo di puntatore dipende dai flag m_bWndLess e m_bInPlaceSiteEx membro dati:
tipo m_spInPlaceSite | valore m_bWndLess | valore m_bInPlaceSiteEx |
---|---|---|
IOleInPlaceSiteWindowless |
TRUE | TRUE o FALSE |
IOleInPlaceSiteEx |
FALSE | TRUE |
IOleInPlaceSite |
FALSE | FALSE |
CComControlBase::m_spOleAdviseHolder
Fornisce un'implementazione standard di un modo per contenere le connessioni consultive.
CComPtr<IOleAdviseHolder>
m_spOleAdviseHolder;
Osservazioni:
Nota
Per usare questo membro dati all'interno della classe di controllo, è necessario dichiararlo come membro dati nella classe del controllo. La classe di controllo non erediterà questo membro dati dalla classe di base perché viene dichiarato all'interno di un'unione nella classe base.
L'interfaccia m_spOleAdviseHolder
implementa i metodi IOleObject::Advise e IOleObject::Unadvise per stabilire ed eliminare connessioni consultive al contenitore. Il contenitore del controllo deve implementare un sink di avviso supportando l'interfaccia IAdviseSink .
CComControlBase::OnDraw
Eseguire l'override di questo metodo per disegnare il controllo.
virtual HRESULT OnDraw(ATL_DRAWINFO& di);
Parametri
di
Riferimento alla struttura ATL_DRAWINFO che contiene informazioni di disegno, ad esempio l'aspetto di disegno, i limiti del controllo e se il disegno è ottimizzato o meno.
Valore restituito
Valore HRESULT standard.
Osservazioni:
Il valore predefinito OnDraw
elimina o ripristina il contesto del dispositivo o non esegue alcuna operazione, a seconda dei flag impostati in CComControlBase::OnDrawAdvanced.
Un OnDraw
metodo viene aggiunto automaticamente alla classe di controllo quando si crea il controllo con la Creazione guidata controllo ATL. L'impostazione predefinita OnDraw
della procedura guidata disegna un rettangolo con l'etichetta "ATL 8.0".
Esempio
Vedere l'esempio per CComControlBase::GetAmbientAppearance.
CComControlBase::OnDrawAdvanced
L'impostazione predefinita OnDrawAdvanced
prepara un contesto di dispositivo normalizzato per il disegno, quindi chiama il metodo della classe di OnDraw
controllo.
virtual HRESULT OnDrawAdvanced(ATL_DRAWINFO& di);
Parametri
di
Riferimento alla struttura ATL_DRAWINFO che contiene informazioni di disegno, ad esempio l'aspetto di disegno, i limiti del controllo e se il disegno è ottimizzato o meno.
Valore restituito
Valore HRESULT standard.
Osservazioni:
Eseguire l'override di questo metodo se si vuole accettare il contesto di dispositivo passato dal contenitore senza normalizzarlo.
Per altri dettagli, vedere CComControlBase::OnDraw .
CComControlBase::OnKillFocus
Verifica che il controllo sia attivo sul posto e abbia un sito di controllo valido, quindi informa il contenitore che il controllo ha perso lo stato attivo.
LRESULT OnKillFocus(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
Parametri
nMsg
Riservato.
wParam
Riservato.
lParam
Riservato.
bHandled
Flag che indica se il messaggio della finestra è stato gestito correttamente. Il valore predefinito è FALSE.
Valore restituito
Restituisce sempre 1.
CComControlBase::OnMouseActivate
Verifica che l'interfaccia utente sia in modalità utente, quindi attiva il controllo.
LRESULT OnMouseActivate(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
Parametri
nMsg
Riservato.
wParam
Riservato.
lParam
Riservato.
bHandled
Flag che indica se il messaggio della finestra è stato gestito correttamente. Il valore predefinito è FALSE.
Valore restituito
Restituisce sempre 1.
CComControlBase::OnPaint
Prepara il contenitore per disegnare, ottiene l'area client del controllo, quindi chiama il metodo della classe di OnDrawAdvanced
controllo.
LRESULT OnPaint(UINT /* nMsg */,
WPARAM wParam,
LPARAM /* lParam */,
BOOL& /* lResult */);
Parametri
nMsg
Riservato.
wParam
HdC esistente.
lParam
Riservato.
lResult
Riservato.
Valore restituito
Restituisce sempre zero.
Osservazioni:
Se wParam non è NULL, OnPaint
presuppone che contenga un HDC valido e lo usi invece di CComControlBase::m_hWndCD.
CComControlBase::OnSetFocus
Verifica che il controllo sia attivo sul posto e abbia un sito di controllo valido, quindi informa il contenitore che il controllo ha ottenuto lo stato attivo.
LRESULT OnSetFocus(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
Parametri
nMsg
Riservato.
wParam
Riservato.
lParam
Riservato.
bHandled
Flag che indica se il messaggio della finestra è stato gestito correttamente. Il valore predefinito è FALSE.
Valore restituito
Restituisce sempre 1.
Osservazioni:
Invia una notifica al contenitore in cui il controllo ha ricevuto lo stato attivo.
CComControlBase::P reTranslateAccelerator
Eseguire l'override di questo metodo per fornire gestori dell'acceleratore di tastiera personalizzati.
BOOL PreTranslateAccelerator(LPMSG /* pMsg */,
HRESULT& /* hRet */);
Parametri
pMsg
Riservato.
hRet
Riservato.
Valore restituito
Per impostazione predefinita, restituisce FALSE.
CComControlBase::SendOnClose
Notifica a tutti i sink consultivi registrati con il titolare del consiglio che il controllo è stato chiuso.
HRESULT SendOnClose();
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
Osservazioni:
Invia una notifica che indica che il controllo ha chiuso i sink di avviso.
CComControlBase::SendOnDataChange
Notifica a tutti i sink consultivi registrati con il titolare del consiglio che i dati di controllo sono stati modificati.
HRESULT SendOnDataChange(DWORD advf = 0);
Parametri
advf
Consigliare i flag che specificano come viene eseguita la chiamata a IAdviseSink::OnDataChange . I valori provengono dall'enumerazione ADVF .
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
CComControlBase::SendOnRename
Notifica a tutti i sink consultivi registrati con il titolare del consiglio che il controllo ha un nuovo moniker.
HRESULT SendOnRename(IMoniker* pmk);
Parametri
Pmk
Puntatore al nuovo moniker del controllo.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
Osservazioni:
Invia una notifica che indica che il moniker per il controllo è stato modificato.
CComControlBase::SendOnSave
Notifica a tutti i sink consultivi registrati con il titolare del consiglio che il controllo è stato salvato.
HRESULT SendOnSave();
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
Osservazioni:
Invia una notifica che indica che il controllo ha appena salvato i dati.
CComControlBase::SendOnViewChange
Notifica a tutti i sink di avviso registrati che la visualizzazione del controllo è cambiata.
HRESULT SendOnViewChange(DWORD dwAspect, LONG lindex = -1);
Parametri
dwAspect
Aspetto o visualizzazione del controllo.
lindex
Parte della visualizzazione modificata. Solo -1 è valido.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
Osservazioni:
SendOnViewChange
chiama IAdviseSink::OnViewChange. L'unico valore di lindex attualmente supportato è -1, che indica che l'intera visualizzazione è di interesse.
CComControlBase::SetControlFocus
Imposta o rimuove lo stato attivo della tastiera da o verso il controllo .
BOOL SetControlFocus(BOOL bGrab);
Parametri
bGrab
Se TRUE, imposta lo stato attivo della tastiera sul controllo chiamante. Se FALSE, rimuove lo stato attivo della tastiera dal controllo chiamante, purché abbia lo stato attivo.
Valore restituito
Restituisce TRUE se il controllo riceve correttamente lo stato attivo; in caso contrario, FALSE.
Osservazioni:
Per un controllo finestra, viene chiamata la funzione Dell'API Windows SetFocus . Per un controllo senza finestra, viene chiamato IOleInPlaceSiteWindowless::SetFocus . Tramite questa chiamata, un controllo senza finestra ottiene lo stato attivo della tastiera e può rispondere ai messaggi della finestra.
CComControlBase::SetDirty
Imposta il membro m_bRequiresSave
dati sul valore in bDirty.
void SetDirty(BOOL bDirty);
Parametri
bDirty
Valore del membro dati CComControlBase::m_bRequiresSave.
Osservazioni:
SetDirty(TRUE)
deve essere chiamato per contrassegnare che il controllo è stato modificato dopo l'ultimo salvataggio. Il valore di m_bRequiresSave
viene recuperato con CComControlBase::GetDirty.