Condividi tramite


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_CHARedizione Standard T, 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_Uedizione Standard RMODE, un flag che indica se il contenitore è in modalità di esecuzione (TRUE) o in modalità progettazione (FAL edizione Standard).
CComControlBase::GetDirty Restituisce il valore del membro m_bRequiresSavedati .
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 del membro dati su NULL o FAL edizione Standard.

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 FAL edizione Standard.

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 FAL edizione Standard.

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_CHARedizione Standard T, il set di caratteri di ambiente per tutti i controlli, definito dal contenitore.

HRESULT GetAmbientCharSet(BSTR& bstrCharSet);

Parametri

bstrCharSet
Proprietà DISPID_AMBIENT_CHARedizione Standard T.

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, FAL edizione Standard 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, FAL edizione Standard 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_Uedizione Standard RMODE. Vedere CComControlBase::GetAmbientUserMode.

CComControlBase::GetAmbientUserMode

Recupera DISPID_AMBIENT_Uedizione Standard RMODE, un flag che indica se il contenitore è in modalità di esecuzione (TRUE) o in modalità progettazione (FAL edizione Standard).

HRESULT GetAmbientUserMode(BOOL& bUserMode);

Parametri

bUserMode
Proprietà DISPID_AMBIENT_Uedizione Standard RMODE.

Valore restituito

Uno dei valori HRESULT standard.

CComControlBase::GetDirty

Restituisce il valore del membro m_bRequiresSavedati .

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 IOleInPlaceSitepuntatore di interfaccia , IOleInPlaceSiteExo 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 è FAL edizione Standard e m_bInPlaceSiteEx è TRUE, m_spInPlaceSite è un puntatore all'interfacciaIOleInPlaceSiteEx. 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_RECOMPOedizione Standard ONRESIZE 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 FAL edizione Standard.

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 FAL edizione Standard 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, FAL edizione Standard.

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.

Vedi anche

Classe CComControl
Cenni preliminari sulla classe