Classe COleControl
Classe di base avanzata per lo sviluppo di controlli OLE.
Sintassi
class COleControl : public CWnd
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
COleControl::COleControl | Crea un oggetto COleControl . |
Metodi pubblici
Nome | Descrizione |
---|---|
COleControl::AmbientAppearance | Recupera l'aspetto corrente del controllo. |
COleControl::AmbientBackColor | Restituisce il valore della proprietà Ambient BackColor. |
COleControl::AmbientDisplayName | Restituisce il nome del controllo come specificato dal contenitore. |
COleControl::AmbientFont | Restituisce il valore della proprietà Font di ambiente. |
COleControl::AmbientForeColor | Restituisce il valore della proprietà ForeColor di ambiente. |
COleControl::AmbientLocaleID | Restituisce l'ID delle impostazioni locali del contenitore. |
COleControl::AmbientScaleUnits | Restituisce il tipo di unità utilizzate dal contenitore. |
COleControl::AmbientShowGrabHandles | Determina se devono essere visualizzati handle di afferramento. |
COleControl::AmbientShowHatching | Determina se deve essere visualizzata la tratteggio. |
COleControl::AmbientTextAlign | Restituisce il tipo di allineamento del testo specificato dal contenitore. |
COleControl::AmbientUIDead | Determina se il controllo deve rispondere alle azioni dell'interfaccia utente. |
COleControl::AmbientUserMode | Determina la modalità del contenitore. |
COleControl::BoundPropertyChanged | Notifica al contenitore che una proprietà associata è stata modificata. |
COleControl::BoundPropertyRequestEdit | Richiede l'autorizzazione per modificare il valore della proprietà. |
COleControl::ClientToParent | Converte un punto rispetto all'origine del controllo in un punto relativo all'origine del contenitore. |
COleControl::ClipCaretRect | Regola un rettangolo di cursore se si sovrappone a un controllo . |
COleControl::ControlInfoChanged | Chiamare questa funzione dopo che il set di mnemonic gestiti dal controllo è stato modificato. |
COleControl::D isplayError | Visualizza gli eventi di errore azionari all'utente del controllo. |
COleControl::D oClick | Implementazione del metodo stock DoClick . |
COleControl::D oPropExchange | Serializza le proprietà di un COleControl oggetto . |
COleControl::D oSuperclassPaint | Ridisegna un controllo OLE sottoclassato da un controllo Windows. |
COleControl::EnableSimpleFrame | Abilita il supporto dei fotogrammi semplice per un controllo . |
COleControl::ExchangeExtent | Serializza la larghezza e l'altezza del controllo. |
COleControl::ExchangeStockProps | Serializza le proprietà azionarie del controllo. |
COleControl::ExchangeVersion | Serializza il numero di versione del controllo. |
COleControl::FireClick | Genera l'evento azionario Click . |
COleControl::FireDblClick | Genera l'evento azionario DblClick . |
COleControl::FireError | Genera l'evento azionario Error . |
COleControl::FireEvent | Genera un evento personalizzato. |
COleControl::FireKeyDown | Genera l'evento azionario KeyDown . |
COleControl::FireKeyPress | Genera l'evento azionario KeyPress . |
COleControl::FireKeyUp | Genera l'evento azionario KeyUp . |
COleControl::FireMouseDown | Genera l'evento azionario MouseDown . |
COleControl::FireMouseMove | Genera l'evento azionario MouseMove . |
COleControl::FireMouseUp | Genera l'evento azionario MouseUp . |
COleControl::FireReadyStateChange | Genera un evento quando lo stato pronto del controllo cambia. |
COleControl::GetActivationPolicy | Modifica il comportamento di attivazione predefinito di un controllo che supporta l'interfaccia IPointerInactive . |
COleControl::GetAmbientProperty | Restituisce il valore della proprietà di ambiente specificata. |
COleControl::GetAppearance | Restituisce il valore della proprietà Stock Appearance. |
COleControl::GetBackColor | Restituisce il valore della proprietà Stock BackColor. |
COleControl::GetBorderStyle | Restituisce il valore della proprietà BorderStyle stock. |
COleControl::GetCapture | Determina se un oggetto controllo attivato senza finestra dispone dell'acquisizione del mouse. |
COleControl::GetClassID | Recupera l'ID classe OLE del controllo . |
COleControl::GetClientOffset | Recupera la differenza tra l'angolo superiore sinistro dell'area rettangolare del controllo e l'angolo superiore sinistro dell'area client. |
COleControl::GetClientRect | Recupera le dimensioni dell'area client del controllo. |
COleControl::GetClientSite | Esegue una query su un oggetto per il puntatore al relativo sito client corrente all'interno del contenitore. |
COleControl::GetControlFlags | Recupera le impostazioni del flag di controllo. |
COleControl::GetControlSize | Restituisce la posizione e le dimensioni del controllo OLE. |
COleControl::GetDC | Fornisce un mezzo per un controllo senza finestra per ottenere un contesto di dispositivo dal relativo contenitore. |
COleControl::GetEnabled | Restituisce il valore della proprietà Stock Enabled. |
COleControl::GetExtendedControl | Recupera un puntatore a un oggetto controllo esteso appartenente al contenitore. |
COleControl::GetFocus | Determina se il controllo ha lo stato attivo. |
COleControl::GetFont | Restituisce il valore della proprietà Stock Font. |
COleControl::GetFontTextMetrics | Restituisce le metriche di un CFontHolder oggetto . |
COleControl::GetForeColor | Restituisce il valore della proprietà ForeColor stock. |
COleControl::GetHwnd | Restituisce il valore della proprietà stock hWnd. |
COleControl::GetMessageString | Fornisce il testo della barra di stato per una voce di menu. |
COleControl::GetNotSupported | Impedisce l'accesso al valore della proprietà di un controllo da parte dell'utente. |
COleControl::GetReadyState | Restituisce lo stato di conformità del controllo. |
COleControl::GetRectInContainer | Restituisce il rettangolo del controllo rispetto al relativo contenitore. |
COleControl::GetStockTextMetrics | Restituisce le metriche della proprietà Stock Font. |
COleControl::GetText | Restituisce il valore della proprietà Stock Text o Caption. |
COleControl::GetWindowlessDropTarget | Eseguire l'override per consentire a un controllo senza finestra di essere la destinazione delle operazioni di trascinamento della selezione. |
COleControl::InitializeIDs | Informa la classe di base degli ID di base che il controllo userà. |
COleControl::InternalGetFont | Restituisce un CFontHolder oggetto per la proprietà Font stock. |
COleControl::InternalGetText | Recupera la proprietà titolo Caption o Text. |
COleControl::InternalSetReadyState | Imposta lo stato di conformità del controllo e attiva l'evento ready-state-change. |
COleControl::InvalidateControl | Invalida un'area del controllo visualizzato, causandone il ridisegno. |
COleControl::InvalidateRgn | Invalida l'area client della finestra del contenitore all'interno dell'area specificata. Può essere usato per ridisegnare i controlli senza finestra nell'area. |
COleControl::IsConvertingVBX | Consente il caricamento specializzato di un controllo OLE. |
COleControl::IsModified | Determina se lo stato del controllo è stato modificato. |
COleControl::IsOptimizedDraw | Indica se il contenitore supporta il disegno ottimizzato per l'operazione di disegno corrente. |
COleControl::IsSubclassedControl | Chiamato per determinare se il controllo sottoclassa un controllo Windows. |
COleControl::Load | Reimposta tutti i dati asincroni precedenti e avvia un nuovo carico della proprietà asincrona del controllo. |
COleControl::LockInPlaceActive | Determina se il controllo può essere disattivato dal contenitore. |
COleControl::OnAmbientPropertyChange | Chiamato quando viene modificata una proprietà di ambiente. |
COleControl::OnAppearanceChanged | Viene chiamato quando viene modificata la proprietà Stock Appearance. |
COleControl::OnBackColorChanged | Chiamato quando viene modificata la proprietà Stock BackColor. |
COleControl::OnBorderStyleChanged | Chiamato quando viene modificata la proprietà BorderStyle stock. |
COleControl::OnClick | Viene chiamato per generare l'evento Stock Click. |
COleControl::OnClose | Notifica al controllo che IOleControl::Close è stato chiamato. |
COleControl::OnDoVerb | Chiamato dopo l'esecuzione di un verbo di controllo. |
COleControl::OnDraw | Chiamato quando viene richiesto un controllo di ridisegnarsi. |
COleControl::OnDrawMetafile | Chiamato dal contenitore quando viene richiesto un controllo di ridisegnarsi usando un contesto di dispositivo metafile. |
COleControl::OnEdit | Chiamato dal contenitore per attivare un controllo OLE dall'interfaccia utente. |
COleControl::OnEnabledChanged | Viene chiamato quando viene modificata la proprietà Stock Enabled. |
COleControl::OnEnumVerbs | Chiamato dal contenitore per enumerare i verbi di un controllo. |
COleControl::OnEventAdvise | Chiamato quando i gestori eventi sono connessi o disconnessi da un controllo. |
COleControl::OnFontChanged | Viene chiamato quando viene modificata la proprietà Stock Font. |
COleControl::OnForeColorChanged | Chiamato quando viene modificata la proprietà Stock ForeColor. |
COleControl::OnFreezeEvents | Chiamato quando gli eventi di un controllo sono bloccati o non bloccati. |
COleControl::OnGetColorSet | Notifica al controllo che IOleObject::GetColorSet è stato chiamato. |
COleControl::OnGetControlInfo | Fornisce informazioni mnemonic al contenitore. |
COleControl::OnGetDisplayString | Chiamato per ottenere una stringa per rappresentare un valore della proprietà. |
COleControl::OnGetInPlaceMenu | Richiede l'handle del menu del controllo che verrà unito al menu contenitore. |
COleControl::OnGetNaturalextent | Eseguire l'override per recuperare le dimensioni di visualizzazione del controllo più vicine alle dimensioni proposte ed ex modalità tenda. |
COleControl::OnGetPredefinedStrings | Restituisce stringhe che rappresentano i valori possibili per una proprietà. |
COleControl::OnGetPredefinedValue | Restituisce il valore corrispondente a una stringa predefinita. |
COleControl::OnGetViewExtent | Eseguire l'override per recuperare le dimensioni delle aree di visualizzazione del controllo (può essere utilizzato per abilitare il disegno a due passaggi). |
COleControl::OnGetViewRect | Eseguire l'override per convertire le dimensioni del controllo in un rettangolo a partire da una posizione specifica. |
COleControl::OnGetViewStatus | Eseguire l'override per recuperare lo stato di visualizzazione del controllo. |
COleControl::OnHideToolBars | Chiamato dal contenitore quando il controllo è disattivato dall'interfaccia utente. |
COleControl::OnInactiveMouseMove | Eseguire l'override per fare in modo che il contenitore per il controllo inattivo sotto il puntatore del mouse invii WM_MOUSEMOVE messaggi al controllo. |
COleControl::OnInactiveSetCursor | Eseguire l'override per fare in modo che il contenitore per il controllo inattivo sotto il puntatore del mouse invii WM_SETCURSOR messaggi al controllo. |
COleControl::OnKeyDownEvent | Chiamato dopo che è stato generato l'evento Stock KeyDown. |
COleControl::OnKeyPressEvent | Chiamato dopo che è stato generato l'evento KeyPress azionario. |
COleControl::OnKeyUpEvent | Chiamato dopo che è stato generato l'evento Stock KeyUp. |
COleControl::OnMapPropertyToPage | Indica la pagina delle proprietà da utilizzare per la modifica di una proprietà. |
COleControl::OnMnemonic | Chiamato quando è stato premuto un tasto mnemonico del controllo. |
COleControl::OnProperties | Chiamato quando è stato richiamato il verbo "Proprietà" del controllo. |
COleControl::OnQueryHitPoint | Eseguire l'override per verificare se la visualizzazione di un controllo si sovrappone a un determinato punto. |
COleControl::OnQueryHitRect | Eseguire l'override per verificare se la visualizzazione di un controllo si sovrappone a qualsiasi punto in un determinato rettangolo. |
COleControl::OnRenderData | Chiamato dal framework per recuperare i dati nel formato specificato. |
COleControl::OnRenderFileData | Chiamato dal framework per recuperare i dati da un file nel formato specificato. |
COleControl::OnRenderGlobalData | Chiamato dal framework per recuperare i dati dalla memoria globale nel formato specificato. |
COleControl::OnResetState | Reimposta le proprietà di un controllo sui valori predefiniti. |
COleControl::OnSetClientSite | Notifica al controllo che IOleControl::SetClientSite è stato chiamato. |
COleControl::OnSetData | Sostituisce i dati del controllo con un altro valore. |
COleControl::OnSetExtent | Chiamato dopo la modifica dell'extent del controllo. |
COleControl::OnSetObjectRects | Chiamato dopo la modifica delle dimensioni del controllo. |
COleControl::OnShowToolBars | Chiamato quando il controllo è stato attivato dall'interfaccia utente. |
COleControl::OnTextChanged | Chiamato quando viene modificata la proprietà Stock Text o Caption. |
COleControl::OnWindowlessMessage | Elabora i messaggi della finestra (diversi dai messaggi del mouse e della tastiera) per i controlli senza finestra. |
COleControl::P arentToClient | Converte un punto relativo all'origine del contenitore in un punto relativo all'origine del controllo. |
COleControl::P ostModalDialog | Notifica al contenitore che una finestra di dialogo modale è stata chiusa. |
COleControl::P reModalDialog | Notifica al contenitore che una finestra di dialogo modale sta per essere visualizzata. |
COleControl::RecreateControlWindow | Elimina e ricrea la finestra del controllo. |
COleControl::Refresh | Forza un aggiornamento dell'aspetto di un controllo. |
COleControl::ReleaseCapture | Rilascia l'acquisizione del mouse. |
COleControl::ReleaseDC | Rilascia il contesto del dispositivo di visualizzazione di un contenitore di un controllo senza finestra. |
COleControl::ReparentControlWindow | Reimposta l'elemento padre della finestra di controllo. |
COleControl::ResetStockProps | Inizializza le COleControl proprietà delle scorte sui valori predefiniti. |
COleControl::ResetVersion | Inizializza il numero di versione in un determinato valore. |
COleControl::ScrollWindow | Consente a un controllo senza finestra di scorrere un'area all'interno dell'immagine attiva sul posto sullo schermo. |
COleControl::SelectFontObject | Seleziona una proprietà Font personalizzata in un contesto di dispositivo. |
COleControl::SelectStockFont | Seleziona la proprietà Font stock in un contesto di dispositivo. |
COleControl::SerializeExtent | Serializza o inizializza lo spazio di visualizzazione per il controllo . |
COleControl::SerializeStockProps | Serializza o inizializza le COleControl proprietà delle scorte. |
COleControl::SerializeVersion | Serializza o inizializza le informazioni sulla versione del controllo. |
COleControl::SetAppearance | Imposta il valore della proprietà Stock Appearance. |
COleControl::SetBackColor | Imposta il valore della proprietà Stock BackColor. |
COleControl::SetBorderStyle | Imposta il valore della proprietà BorderStyle stock. |
COleControl::SetCapture | Fa sì che la finestra del contenitore del controllo acquisisca il possesso dell'acquisizione del mouse per conto del controllo. |
COleControl::SetControlSize | Imposta la posizione e le dimensioni del controllo OLE. |
COleControl::SetEnabled | Imposta il valore della proprietà Stock Enabled. |
COleControl::SetFocus | Fa sì che la finestra del contenitore del controllo assuma il possesso dello stato attivo dell'input per conto del controllo. |
COleControl::SetFont | Imposta il valore della proprietà Stock Font. |
COleControl::SetForeColor | Imposta il valore della proprietà Stock ForeColor. |
COleControl::SetInitialSize | Imposta le dimensioni di un controllo OLE quando viene visualizzato per la prima volta in un contenitore. |
COleControl::SetModifiedFlag | Modifica lo stato modificato di un controllo. |
COleControl::SetNotPermitted | Indica che una richiesta di modifica non è riuscita. |
COleControl::SetNotSupported | Impedisce la modifica del valore della proprietà di un controllo da parte dell'utente. |
COleControl::SetRectInContainer | Imposta il rettangolo del controllo rispetto al relativo contenitore. |
COleControl::SetText | Imposta il valore della proprietà Stock Text o Caption. |
COleControl::ThrowError | Segnala che si è verificato un errore in un controllo OLE. |
COleControl::TransformCoords | Trasforma i valori delle coordinate tra un contenitore e il controllo . |
COleControl::TranslateColor | Converte un valore OLE_COLOR in un valore COLORREF. |
COleControl::WillAmbientsBeValidDuringLoad | Determina se le proprietà di ambiente saranno disponibili alla successiva caricamento del controllo. |
COleControl::WindowProc | Fornisce una routine di Windows per un COleControl oggetto . |
Metodi protetti
Nome | Descrizione |
---|---|
COleControl::D rawContent | Chiamato dal framework quando l'aspetto del controllo deve essere aggiornato. |
COleControl::D rawMetafile | Chiamato dal framework quando viene usato il contesto di dispositivo del metafile. |
COleControl::IsInvokeAllowed | Abilita la chiamata al metodo di automazione. |
COleControl::SetInitialDataFormats | Chiamato dal framework per inizializzare l'elenco dei formati di dati supportati dal controllo . |
Osservazioni:
Derivata da CWnd
, questa classe eredita tutte le funzionalità di un oggetto finestra di Windows e funzionalità aggiuntive specifiche di OLE, ad esempio la generazione di eventi e la possibilità di supportare metodi e proprietà.
I controlli OLE possono essere inseriti nelle applicazioni contenitore OLE e comunicare con il contenitore usando un sistema bidirezionale di attivazione degli eventi ed esponendo metodi e proprietà al contenitore. Si noti che i contenitori OLE standard supportano solo la funzionalità di base di un controllo OLE. Non è possibile supportare le funzionalità estese di un controllo OLE. La generazione di eventi si verifica quando gli eventi vengono inviati al contenitore in seguito a determinate azioni eseguite nel controllo. A sua volta, il contenitore comunica con il controllo usando un set esposto di metodi e proprietà analoghi alle funzioni membro e ai membri dati di una classe C++. Questo approccio consente allo sviluppatore di controllare l'aspetto del controllo e di notificare al contenitore quando si verificano determinate azioni.
Controlli senza finestra
I controlli OLE possono essere utilizzati sul posto senza una finestra. I controlli senza finestra presentano vantaggi significativi:
I controlli senza finestra possono essere trasparenti e non rettangolari
I controlli senza finestra riducono le dimensioni dell'istanza e il tempo di creazione dell'oggetto
I controlli non necessitano di una finestra. I servizi offerti da una finestra possono essere forniti facilmente tramite una singola finestra condivisa (in genere il contenitore) e un po' di codice di invio. Avere una finestra è principalmente una complicazione non necessaria sull'oggetto.
Quando viene usata l'attivazione senza finestra, il contenitore (che ha una finestra) è responsabile della fornitura di servizi che altrimenti sarebbero stati forniti dalla finestra del controllo. Ad esempio, se il controllo deve eseguire query sullo stato attivo della tastiera, eseguire una query sull'acquisizione del mouse o ottenere un contesto di dispositivo, queste operazioni vengono gestite dal contenitore. Le COleControl
funzioni membro dell'operazione senza finestra richiamano queste operazioni nel contenitore.
Quando l'attivazione senza finestra è abilitata, il contenitore delega i messaggi di input all'interfaccia del IOleInPlaceObjectWindowless
controllo (estensione di IOleInPlaceObject per il supporto senza finestra). COleControl
L'implementazione di questa interfaccia invierà questi messaggi attraverso la mappa dei messaggi del controllo, dopo aver modificato le coordinate del mouse in modo appropriato. È possibile elaborare questi messaggi come i normali messaggi della finestra aggiungendo le voci corrispondenti alla mappa dei messaggi.
In un controllo senza finestra è consigliabile usare sempre le COleControl
funzioni membro anziché le funzioni membro corrispondenti CWnd
o le relative funzioni API di Windows.
Gli oggetti di controllo OLE possono anche creare una finestra solo quando diventano attivi, ma la quantità di lavoro necessaria per la transizione inattiva e la velocità della transizione diventa inattiva. In alcuni casi si tratta di un problema: si consideri, ad esempio, una griglia di caselle di testo. Quando si posiziona il cursore verso l'alto e il basso nella colonna, ogni controllo deve essere attivato sul posto e quindi disattivato. La velocità della transizione inattiva/attiva influisce direttamente sulla velocità di scorrimento.
Per altre informazioni sullo sviluppo di un framework di controllo OLE, vedere gli articoli MFC ActiveX Controls and Overview: Creating an MFC ActiveX Control Program.For more information on developing an OLE control framework, see the articles MFC ActiveX Controls and Overview: Creating an MFC ActiveX Control Program. Per informazioni sull'ottimizzazione dei controlli OLE, inclusi controlli senza finestra e senza sfarfallio, vedere Controlli ActiveX MFC: Ottimizzazione.
Gerarchia di ereditarietà
COleControl
Requisiti
Intestazione: afxctl.h
COleControl::AmbientBackColor
Restituisce il valore della proprietà Ambient BackColor.
OLE_COLOR AmbientBackColor();
Valore restituito
Valore corrente della proprietà BackColor di ambiente del contenitore, se presente. Se la proprietà non è supportata, questa funzione restituisce il colore di sfondo di Windows definito dal sistema.
Osservazioni:
La proprietà Ambient BackColor è disponibile per tutti i controlli ed è definita dal contenitore. Si noti che il contenitore non è necessario per supportare questa proprietà.
COleControl::AmbientDisplayName
Il nome assegnato al contenitore al controllo può essere usato nei messaggi di errore visualizzati all'utente.
CString AmbientDisplayName();
Valore restituito
Nome del controllo OLE. Il valore predefinito è una stringa di lunghezza zero.
Osservazioni:
Si noti che il contenitore non è necessario per supportare questa proprietà.
COleControl::AmbientFont
Restituisce il valore della proprietà Font di ambiente.
LPFONTDISP AmbientFont();
Valore restituito
Puntatore all'interfaccia di invio del tipo di carattere ambientale del contenitore. Il valore predefinito è NULL. Se il valore restituito non è uguale a NULL, l'utente è responsabile del rilascio del tipo di carattere chiamando la relativa funzione membro IUnknown::Release .
Osservazioni:
La proprietà Font di ambiente è definita dal contenitore e disponibile per tutti i controlli. Si noti che il contenitore non è necessario per supportare questa proprietà.
COleControl::AmbientForeColor
Restituisce il valore della proprietà ForeColor di ambiente.
OLE_COLOR AmbientForeColor();
Valore restituito
Valore corrente della proprietà ForeColor di ambiente del contenitore, se presente. Se non è supportato, questa funzione restituisce il colore del testo di Windows definito dal sistema.
Osservazioni:
La proprietà ForeColor di ambiente è disponibile per tutti i controlli ed è definita dal contenitore. Si noti che il contenitore non è necessario per supportare questa proprietà.
COleControl::AmbientLocaleID
Restituisce l'ID delle impostazioni locali del contenitore.
LCID AmbientLocaleID();
Valore restituito
Valore della proprietà LocaleID del contenitore, se presente. Se questa proprietà non è supportata, questa funzione restituisce 0.
Osservazioni:
Il controllo può usare LocaleID per adattare l'interfaccia utente per impostazioni locali specifiche. Si noti che il contenitore non è necessario per supportare questa proprietà.
COleControl::AmbientAppearance
Recupera l'impostazione dell'aspetto corrente per l'oggetto controllo.
short AmbientAppearance();
Valore restituito
Aspetto del controllo:
0 Aspetto piatto
Aspetto 1 3D
Osservazioni:
Chiamare questa funzione per recuperare il valore corrente della proprietà DISPID_AMBIENT_APPEARANCE per il controllo .
COleControl::AmbientScaleUnits
Restituisce il tipo di unità utilizzate dal contenitore.
CString AmbientScaleUnits();
Valore restituito
Stringa contenente gli elementi ScaleUnits di ambiente del contenitore. Se questa proprietà non è supportata, questa funzione restituisce una stringa di lunghezza zero.
Osservazioni:
La proprietà ScaleUnits di ambiente del contenitore può essere usata per visualizzare posizioni o dimensioni, etichettate con l'unità scelta, ad esempio twip o centimetri. Si noti che il contenitore non è necessario per supportare questa proprietà.
COleControl::AmbientShowGrabHandles
Determina se il contenitore consente al controllo di visualizzare handle di afferramento per se stesso quando è attivo.
BOOL AmbientShowGrabHandles();
Valore restituito
Diverso da zero se devono essere visualizzati i quadratini di afferramento; in caso contrario, 0. Se questa proprietà non è supportata, questa funzione restituisce un valore diverso da zero.
Osservazioni:
Si noti che il contenitore non è necessario per supportare questa proprietà.
COleControl::AmbientShowHatching
Determina se il contenitore consente al controllo di visualizzare se stesso con un modello tratteggio quando l'interfaccia utente è attiva.
BOOL AmbientShowHatching();
Valore restituito
Diverso da zero se deve essere visualizzato il modello tratteggio; in caso contrario, 0. Se questa proprietà non è supportata, questa funzione restituisce un valore diverso da zero.
Osservazioni:
Si noti che il contenitore non è necessario per supportare questa proprietà.
COleControl::AmbientTextAlign
Determina l'allineamento del testo di ambiente preferito dal contenitore di controlli.
short AmbientTextAlign();
Valore restituito
Stato della proprietà TextAlign dell'ambiente del contenitore. Se questa proprietà non è supportata, questa funzione restituisce 0.
Di seguito è riportato un elenco di valori restituiti validi:
Valore restituito | Significato |
---|---|
0 | Allineamento generale (numeri a destra, testo a sinistra). |
1 | Giustificazione sinistra |
2 | Al centro |
3 | Giustificazione giusta |
Osservazioni:
Questa proprietà è disponibile per tutti i controlli incorporati ed è definita dal contenitore. Si noti che il contenitore non è necessario per supportare questa proprietà.
COleControl::AmbientUIDead
Determina se il contenitore desidera che il controllo risponda alle azioni dell'interfaccia utente.
BOOL AmbientUIDead();
Valore restituito
Diverso da zero se il controllo deve rispondere alle azioni dell'interfaccia utente; in caso contrario, 0. Se questa proprietà non è supportata, questa funzione restituisce 0.
Osservazioni:
Ad esempio, un contenitore potrebbe impostare questo valore su TRUE in modalità progettazione.
COleControl::AmbientUserMode
Determina se il contenitore è in modalità progettazione o in modalità utente.
BOOL AmbientUserMode();
Valore restituito
Diverso da zero se il contenitore è in modalità utente; in caso contrario, 0 (in modalità progettazione). Se questa proprietà non è supportata, questa funzione restituisce TRUE.
Osservazioni:
Ad esempio, un contenitore potrebbe impostare questa proprietà su FALSE in modalità progettazione.
COleControl::BoundPropertyChanged
Segnala che il valore della proprietà associata è stato modificato.
void BoundPropertyChanged(DISPID dispid);
Parametri
dispid
ID dispatch di una proprietà associata del controllo.
Osservazioni:
Questa operazione deve essere chiamata ogni volta che il valore della proprietà viene modificato, anche nei casi in cui la modifica non è stata apportata tramite il metodo Set della proprietà . Tenere presente in particolare le proprietà associate mappate alle variabili membro. Ogni volta che una variabile membro di questo tipo cambia, BoundPropertyChanged
deve essere chiamata.
COleControl::BoundPropertyRequestEdit
Richiede l'autorizzazione dall'interfaccia IPropertyNotifySink
per modificare un valore di proprietà associato fornito dal controllo .
BOOL BoundPropertyRequestEdit(DISPID dispid);
Parametri
dispid
ID dispatch di una proprietà associata del controllo.
Valore restituito
Diverso da zero se la modifica è consentita; in caso contrario, 0. Il valore predefinito è diverso da zero.
Osservazioni:
Se l'autorizzazione viene negata, il controllo non deve consentire la modifica del valore della proprietà. Questa operazione può essere eseguita ignorando o non riuscita l'azione che ha tentato di modificare il valore della proprietà.
COleControl::ClientToParent
Converte le coordinate di pPoint in coordinate padre.
virtual void ClientToParent(
LPCRECT lprcBounds,
LPPOINT pPoint) const;
Parametri
lprcBounds
Puntatore ai limiti del controllo OLE all'interno del contenitore. Non l'area client, ma l'area dell'intero controllo, inclusi i bordi e le barre di scorrimento.
pPoint
Puntatore all'area client OLE da convertire nelle coordinate dell'elemento padre (contenitore).
Osservazioni:
In pPoint di input è relativo all'origine dell'area client del controllo OLE (angolo superiore sinistro dell'area client del controllo). In pPoint di output è relativo all'origine dell'elemento padre (angolo superiore sinistro del contenitore).
COleControl::ClipCaretRect
Regola un rettangolo di cursore se è interamente o parzialmente coperto da oggetti opachi sovrapposti.
BOOL ClipCaretRect(LPRECT lpRect);
Parametri
lpRect
All'input, un puntatore a una struttura RECT che contiene l'area del cursore da regolare. Nell'output, l'area del cursore regolato o NULL se il rettangolo del cursore è completamente coperto.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Un cursore è una linea lampeggiante, un blocco o una bitmap che in genere indica dove verrà inserito testo o grafica.
Un oggetto senza finestra non può mostrare in modo sicuro un cursore senza prima controllare se il cursore è parzialmente o totalmente nascosto da oggetti sovrapposti. Per renderlo possibile, un oggetto può usare ClipCaretRect
per regolare il cursore (ridotto) per assicurarsi che si adatti all'area di ritaglio.
Gli oggetti che creano un cursore devono inviare il rettangolo del cursore a ClipCaretRect
e usare il rettangolo regolato per il cursore. Se il cursore è completamente nascosto, questo metodo restituirà FALSE e il cursore non deve essere visualizzato affatto in questo caso.
COleControl::COleControl
Costruisce un oggetto COleControl
.
COleControl();
Osservazioni:
Questa funzione in genere non viene chiamata direttamente. Il controllo OLE viene in genere creato dalla class factory.
COleControl::ControlInfoChanged
Chiamare questa funzione quando il set di mnemonic supportati dal controllo è stato modificato.
void ControlInfoChanged();
Osservazioni:
Dopo aver ricevuto questa notifica, il contenitore del controllo ottiene il nuovo set di mnemonic eseguendo una chiamata a IOleControl::GetControlInfo. Si noti che il contenitore non è necessario per rispondere a questa notifica.
COleControl::D isplayError
Chiamato dal framework dopo che l'evento stock Error è stato gestito (a meno che il gestore eventi non abbia eliminato la visualizzazione dell'errore).
virtual void DisplayError(
SCODE scode,
LPCTSTR lpszDescription,
LPCTSTR lpszSource,
LPCTSTR lpszHelpFile,
UINT nHelpID);
Parametri
scode
Valore del codice di stato da segnalare. Per un elenco completo dei codici possibili, vedere l'articolo Controlli ActiveX: Argomenti avanzati.
lpszDescription
Descrizione dell'errore segnalato.
lpszSource
Nome del modulo che genera l'errore ,in genere il nome del modulo di controllo OLE.
lpszHelpFile
Nome del file della Guida contenente una descrizione dell'errore.
nHelpID
ID contesto della Guida dell'errore segnalato.
Osservazioni:
Il comportamento predefinito visualizza una finestra di messaggio contenente la descrizione dell'errore, contenuta in lpszDescription.
Eseguire l'override di questa funzione per personalizzare la modalità di visualizzazione degli errori.
COleControl::D oClick
Simula un'azione di clic del mouse sul controllo.
void DoClick();
Osservazioni:
Verrà chiamata la funzione membro sottoponibile a COleControl::OnClick
override e verrà generato un evento Click azionario, se supportato dal controllo .
Questa funzione è supportata dalla COleControl
classe base come metodo stock, denominato DoClick. Per altre informazioni, vedere l'articolo Controlli ActiveX: Metodi.
COleControl::D oPropExchange
Chiamato dal framework durante il caricamento o l'archiviazione di un controllo da una rappresentazione di archiviazione permanente, ad esempio un flusso o un set di proprietà.
virtual void DoPropExchange(CPropExchange* pPX);
Parametri
pPX
Puntatore a un oggetto CPropExchange
. Il framework fornisce questo oggetto per stabilire il contesto dello scambio di proprietà, inclusa la relativa direzione.
Osservazioni:
Questa funzione esegue in genere chiamate alla famiglia di funzioni PX_ per caricare o archiviare proprietà specifiche definite dall'utente di un controllo OLE.
Se la Creazione guidata controllo è stata usata per creare il progetto di controllo OLE, la versione sottoposta a override di questa funzione serializzerà le proprietà predefinite supportate da COleControl
con una chiamata alla funzione della classe base , COleControl::DoPropExchange
. Quando si aggiungono proprietà definite dall'utente al controllo OLE, sarà necessario modificare questa funzione per serializzare le nuove proprietà. Per altre informazioni sulla serializzazione, vedere l'articolo Controlli ActiveX: Serializzazione.
COleControl::D oSuperclassPaint
Ridisegna un controllo OLE sottoclassato da un controllo Windows.
void DoSuperclassPaint(
CDC* pDC,
const CRect& rcBounds);
Parametri
pDC
Puntatore al contesto di dispositivo del contenitore del controllo.
rcBounds
Area in cui deve essere disegnato il controllo.
Osservazioni:
Chiamare questa funzione per gestire correttamente il disegno di un controllo OLE non attivo. Questa funzione deve essere utilizzata solo se il controllo OLE sottoclassa un controllo Windows e deve essere chiamato nella OnDraw
funzione del controllo.
Per altre informazioni su questa funzione e sulla sottoclasse di un controllo Windows, vedere l'articolo Controlli ActiveX: Sottoclasse di un controllo Windows.
COleControl::D rawContent
Chiamato dal framework quando l'aspetto del controllo deve essere aggiornato.
void DrawContent(
CDC* pDC,
CRect& rc);
Parametri
pDC
Puntatore al contesto del dispositivo.
Rc
Area rettangolare in cui disegnare.
Osservazioni:
Questa funzione chiama direttamente la funzione sostituibile OnDraw
.
COleControl::D rawMetafile
Chiamato dal framework quando viene usato il contesto di dispositivo del metafile.
void DrawMetafile(
CDC* pDC,
CRect& rc);
Parametri
pDC
Puntatore al contesto del dispositivo metafile.
Rc
Area rettangolare in cui disegnare.
COleControl::EnableSimpleFrame
Abilita la caratteristica cornice semplice per un controllo OLE.
void EnableSimpleFrame();
Osservazioni:
Questa caratteristica consente a un controllo di supportare il contenimento visivo di altri controlli, ma non il vero contenimento OLE. Un esempio è una casella di gruppo con diversi controlli all'interno. Questi controlli non sono contenuti in OLE, ma si trovano nella stessa casella di gruppo.
COleControl::ExchangeExtent
Serializza o inizializza lo stato dell'extent del controllo (dimensioni in unità HIMETRIC).
BOOL ExchangeExtent(CPropExchange* pPX);
Parametri
pPX
Puntatore a un oggetto CPropExchange . Il framework fornisce questo oggetto per stabilire il contesto dello scambio di proprietà, inclusa la relativa direzione.
Valore restituito
Diverso da zero se la funzione ha avuto esito positivo; 0 in caso contrario.
Osservazioni:
Questa funzione viene in genere chiamata dall'implementazione predefinita di COleControl::DoPropExchange
.
COleControl::ExchangeStockProps
Serializza o inizializza lo stato delle proprietà azionarie del controllo.
void ExchangeStockProps(CPropExchange* pPX);
Parametri
pPX
Puntatore a un oggetto CPropExchange . Il framework fornisce questo oggetto per stabilire il contesto dello scambio di proprietà, inclusa la relativa direzione.
Osservazioni:
Questa funzione viene in genere chiamata dall'implementazione predefinita di COleControl::DoPropExchange
.
COleControl::ExchangeVersion
Serializza o inizializza lo stato delle informazioni sulla versione di un controllo.
BOOL ExchangeVersion(
CPropExchange* pPX,
DWORD dwVersionDefault,
BOOL bConvert = TRUE);
Parametri
pPX
Puntatore a un oggetto CPropExchange
. Il framework fornisce questo oggetto per stabilire il contesto dello scambio di proprietà, inclusa la relativa direzione.
dwVersionDefault
Numero di versione corrente del controllo.
bConvert
Indica se i dati persistenti devono essere convertiti nel formato più recente al momento del salvataggio o mantenuti nello stesso formato caricato.
Valore restituito
Diverso da zero della funzione riuscita; 0 in caso contrario.
Osservazioni:
In genere, questa sarà la prima funzione chiamata dall'override di un controllo di COleControl::DoPropExchange
. Durante il caricamento, questa funzione legge il numero di versione dei dati persistenti e imposta di conseguenza l'attributo version dell'oggetto CPropExchange . Durante il salvataggio, questa funzione scrive il numero di versione dei dati persistenti.
Per altre informazioni sulla persistenza e sul controllo delle versioni, vedere l'articolo Controlli ActiveX: Serializzazione.
COleControl::FireClick
Chiamato dal framework quando si fa clic sul mouse su un controllo attivo.
void FireClick();
Osservazioni:
Se questo evento viene definito come evento personalizzato, si determina quando viene generato l'evento.
Per l'attivazione automatica di un evento Click, la mappa eventi del controllo deve avere un evento Click azionario definito.
COleControl::FireDblClick
Chiamato dal framework quando si fa doppio clic sul mouse su un controllo attivo.
void FireDblClick();
Osservazioni:
Se questo evento viene definito come evento personalizzato, si determina quando viene generato l'evento.
Per l'attivazione automatica di un evento DblClick, la mappa eventi del controllo deve avere un evento DblClick azionario definito.
COleControl::FireError
Genera l'evento Stock Error.
void FireError(
SCODE scode,
LPCTSTR lpszDescription,
UINT nHelpID = 0);
Parametri
scode
Valore del codice di stato da segnalare. Per un elenco completo dei codici possibili, vedere l'articolo Controlli ActiveX: Argomenti avanzati.
lpszDescription
Descrizione dell'errore segnalato.
nHelpID
ID della Guida dell'errore segnalato.
Osservazioni:
Questo evento consente di segnalare, in posizioni appropriate nel codice, che si è verificato un errore all'interno del controllo. A differenza di altri eventi azionari, ad esempio Click o MouseMove, l'errore non viene mai generato dal framework.
Per segnalare un errore che si verifica durante una funzione get di proprietà, una funzione set di proprietà o un metodo di automazione, chiamare COleControl::ThrowError.
L'implementazione dell'evento Stock Error di un controllo OLE usa un valore SCODE. Se il controllo usa questo evento e deve essere utilizzato in Visual Basic 4.0, si riceveranno errori perché il valore SCODE non è supportato in Visual Basic.
Per risolvere questo problema, modificare manualmente il parametro SCODE nel controllo . File ODL in un oggetto long
. Inoltre, qualsiasi evento, metodo o proprietà personalizzato che usa un parametro SCODE causa anche lo stesso problema.
COleControl::FireEvent
Genera un evento definito dall'utente dal controllo con un numero qualsiasi di argomenti facoltativi.
void AFX_CDECL FireEvent(
DISPID dispid,
BYTE* pbParams,
...);
Parametri
dispid
ID di invio dell'evento da attivare.
pbParams
Descrittore per i tipi di parametro dell'evento.
Osservazioni:
In genere questa funzione non deve essere chiamata direttamente. Si chiameranno invece le funzioni di generazione di eventi nella sezione della mappa eventi della dichiarazione di classe del controllo.
L'argomento pbParams è un elenco separato da spazi di VTS_. Uno o più di questi valori, separati da spazi (non virgole), specificano l'elenco dei parametri della funzione. I possibili valori sono i seguenti:
Simbolo | Tipo parametro |
---|---|
VTS_COLOR | OLE_COLOR |
VTS_FONT | IFontDisp* |
VTS_HANDLE | HWND |
VTS_PICTURE | IPictureDisp* |
VTS_OPTEXCLUSIVE | OLE_OPTEXCLUSIVE* |
VTS_TRISTATE | OLE_TRISTATE |
VTS_XPOS_HIMETRIC | OLE_XPOS_HIMETRIC |
VTS_YPOS_HIMETRIC | OLE_YPOS_HIMETRIC |
VTS_XPOS_PIXELS | OLE_XPOS_PIXELS |
VTS_YPOS_PIXELS | OLE_YPOS_PIXELS |
VTS_XSIZE_PIXELS | OLE_XSIZE_PIXELS |
VTS_YSIZE_PIXELS | OLE_XSIZE_PIXELS |
VTS_XSIZE_HIMETRIC | OLE_XSIZE_HIMETRIC |
VTS_YSIZE_HIMETRIC | OLE_XSIZE_HIMETRIC |
Nota
Sono state definite costanti varianti aggiuntive per tutti i tipi varianti, ad eccezione di VTS_FONT e VTS_PICTURE, che forniscono un puntatore alla costante dati variant. Queste costanti vengono denominate usando la convenzione VTS_P<CONSTANT-NAME> . Ad esempio, VTS_PCOLOR è un puntatore a una costante VTS_COLOR.
COleControl::FireKeyDown
Chiamato dal framework quando viene premuto un tasto mentre il controllo è attivo nell'interfaccia utente.
void FireKeyDown(
USHORT* pnChar,
short nShiftState);
Parametri
pnChar
Puntatore al valore del codice della chiave virtuale del tasto premuto. Per un elenco dei codici di chiave virtuale standard, vedere Winuser.h
nShiftState
Contiene una combinazione dei flag seguenti:
SHIFT_MASK Il tasto MAIUSC è stato premuto durante l'azione.
CTRL_MASK Il tasto CTRL è stato premuto durante l'azione.
ALT_MASK Il tasto ALT è stato premuto durante l'azione.
Osservazioni:
Se questo evento viene definito come evento personalizzato, si determina quando viene generato l'evento.
Per l'attivazione automatica di un evento KeyDown, la mappa eventi del controllo deve avere un evento KeyDown azionario definito.
COleControl::FireKeyPress
Chiamato dal framework quando viene premuto e rilasciato un tasto mentre il controllo personalizzato è Attivo nell'interfaccia utente all'interno del contenitore.
void FireKeyPress(USHORT* pnChar);
Parametri
pnChar
Puntatore al valore del carattere del tasto premuto.
Osservazioni:
Se questo evento viene definito come evento personalizzato, si determina quando viene generato l'evento.
Il destinatario dell'evento può modificare pnChar, ad esempio, convertire tutti i caratteri minuscoli in lettere maiuscole. Se si desidera esaminare il carattere modificato, eseguire l'override OnKeyPressEvent
di .
Affinché si verifichi l'attivazione automatica di un evento KeyPress, la mappa eventi del controllo deve avere un evento KeyPress azionario definito.
COleControl::FireKeyUp
Chiamato dal framework quando viene rilasciata una chiave mentre il controllo personalizzato è Attivo nell'interfaccia utente all'interno del contenitore.
void FireKeyUp(
USHORT* pnChar,
short nShiftState);
Parametri
pnChar
Puntatore al valore del codice della chiave virtuale della chiave rilasciata. Per un elenco dei codici di chiave virtuale standard, vedere Winuser.h
nShiftState
Contiene una combinazione dei flag seguenti:
SHIFT_MASK Il tasto MAIUSC è stato premuto durante l'azione.
CTRL_MASK Il tasto CTRL è stato premuto durante l'azione.
ALT_MASK Il tasto ALT è stato premuto durante l'azione.
Osservazioni:
Se questo evento viene definito come evento personalizzato, si determina quando viene generato l'evento.
Affinché si verifichi l'attivazione automatica di un evento KeyUp, la mappa eventi del controllo deve avere un evento KeyUp azionario definito.
COleControl::FireMouseDown
Chiamato dal framework quando viene premuto un pulsante del mouse su un controllo personalizzato attivo.
void FireMouseDown(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Parametri
nButton
Valore numerico del pulsante del mouse premuto. Può contenere uno dei valori seguenti:
LEFT_BUTTON È stato premuto il pulsante sinistro del mouse.
MIDDLE_BUTTON Il pulsante centrale del mouse è stato premuto.
RIGHT_BUTTON è stato premuto il pulsante destro del mouse.
nShiftState
Contiene una combinazione dei flag seguenti:
SHIFT_MASK Il tasto MAIUSC è stato premuto durante l'azione.
CTRL_MASK Il tasto CTRL è stato premuto durante l'azione.
ALT_MASK Il tasto ALT è stato premuto durante l'azione.
x
Coordinata x del cursore quando è stato premuto un pulsante del mouse. La coordinata è relativa all'angolo superiore sinistro della finestra di controllo.
y
Coordinata y del cursore quando è stato premuto un pulsante del mouse. La coordinata è relativa all'angolo superiore sinistro della finestra di controllo.
Osservazioni:
Se questo evento viene definito come evento personalizzato, si determina quando viene generato l'evento.
Affinché si verifichi l'attivazione automatica di un evento MouseDown, la mappa eventi del controllo deve avere un evento MouseDown azionario definito.
COleControl::FireMouseMove
Chiamato dal framework quando il cursore viene spostato su un controllo personalizzato attivo.
void FireMouseMove(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Parametri
nButton
Valore numerico dei pulsanti del mouse premuti. Contiene una combinazione dei valori seguenti:
LEFT_BUTTON Il pulsante sinistro del mouse è stato premuto durante l'azione.
MIDDLE_BUTTON Il pulsante centrale del mouse è stato premuto durante l'azione.
RIGHT_BUTTON Il pulsante destro del mouse è stato premuto durante l'azione.
nShiftState
Contiene una combinazione dei flag seguenti:
SHIFT_MASK Il tasto MAIUSC è stato premuto durante l'azione.
CTRL_MASK Il tasto CTRL è stato premuto durante l'azione.
ALT_MASK Il tasto ALT è stato premuto durante l'azione.
x
Coordinata x del cursore. La coordinata è relativa all'angolo superiore sinistro della finestra di controllo.
y
Coordinata y del cursore. La coordinata è relativa all'angolo superiore sinistro della finestra di controllo.
Osservazioni:
Se questo evento viene definito come evento personalizzato, si determina quando viene generato l'evento.
Affinché si verifichi l'attivazione automatica di un evento MouseMove, la mappa eventi del controllo deve avere un evento MouseMove azionario definito.
COleControl::FireMouseUp
Chiamato dal framework quando viene rilasciato un pulsante del mouse su un controllo personalizzato attivo.
void FireMouseUp(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Parametri
nButton
Valore numerico del pulsante del mouse rilasciato. Può avere uno dei valori seguenti:
LEFT_BUTTON È stato rilasciato il pulsante sinistro del mouse.
MIDDLE_BUTTON È stato rilasciato il pulsante centrale del mouse.
RIGHT_BUTTON È stato rilasciato il pulsante destro del mouse.
nShiftState
Contiene una combinazione dei flag seguenti:
SHIFT_MASK Il tasto MAIUSC è stato premuto durante l'azione.
CTRL_MASK Il tasto CTRL è stato premuto durante l'azione.
ALT_MASK Il tasto ALT è stato premuto durante l'azione.
x
Coordinata x del cursore quando è stato rilasciato un pulsante del mouse. La coordinata è relativa all'angolo superiore sinistro della finestra di controllo.
y
Coordinata y di un cursore quando è stato rilasciato un pulsante del mouse. La coordinata è relativa all'angolo superiore sinistro della finestra di controllo.
Osservazioni:
Se questo evento viene definito come evento personalizzato, si determina quando viene generato l'evento.
Affinché si verifichi l'attivazione automatica di un evento MouseUp, la mappa eventi del controllo deve avere un evento MouseUp azionario definito.
COleControl::FireReadyStateChange
Genera un evento con il valore corrente dello stato pronto del controllo.
void FireReadyStateChange();
Osservazioni:
Lo stato pronto può essere uno dei valori seguenti:
Nome | Descrizione |
---|---|
READYSTATE_UNINITIALIZED | Stato di inizializzazione predefinito |
READYSTATE_LOADING | Il controllo sta attualmente caricando le relative proprietà |
READYSTATE_LOADED | Il controllo è stato inizializzato |
READYSTATE_INTERACTIVE | Il controllo dispone di dati sufficienti per essere interattivi, ma non tutti i dati asincroni vengono ancora caricati |
READYSTATE_COMPLETE | Controllo ha tutti i relativi dati |
Usare GetReadyState per determinare l'idoneità corrente del controllo.
InternalSetReadyState modifica lo stato pronto al valore fornito, quindi chiama FireReadyStateChange
.
COleControl::GetActivationPolicy
Modifica il comportamento di attivazione predefinito di un controllo che supporta l'interfaccia IPointerInactive
.
virtual DWORD GetActivationPolicy();
Valore restituito
Combinazione di flag dell'enumerazione POINTERINACTIVE. I flag possibili sono:
Nome | Descrizione |
---|---|
POINTERINACTIVE_ACTIVATEONENTRY | L'oggetto deve essere attivato sul posto quando il mouse lo entra durante un'operazione di spostamento del mouse. |
POINTERINACTIVE_DEACTIVATEONLEAVE | L'oggetto deve essere disattivato quando il mouse lascia l'oggetto durante un'operazione di spostamento del mouse. |
POINTERINACTIVE_ACTIVATEONDRAG | L'oggetto deve essere attivato sul posto quando il mouse viene trascinato su di esso durante un'operazione di trascinamento della selezione. |
Osservazioni:
Quando l'interfaccia IPointerInactive
è abilitata, il contenitore delega WM_SETCURSOR e WM_MOUSEMOVE messaggi. COleControl
L'implementazione di questa interfaccia invierà questi messaggi attraverso la mappa dei messaggi del controllo, dopo aver modificato le coordinate del mouse in modo appropriato.
Ogni volta che il contenitore riceve un messaggio WM_SETCURSOR o WM_MOUSEMOVE con il puntatore del mouse su un oggetto inattivo che supporta IPointerInactive
, deve chiamare GetActivationPolicy
sull'interfaccia e restituire i flag dall'enumerazione POINTERINACTIVE.
È possibile elaborare questi messaggi esattamente come i normali messaggi della finestra aggiungendo le voci corrispondenti alla mappa dei messaggi. Nei gestori evitare di usare la m_hWnd
variabile membro (o qualsiasi funzione membro che la usa) senza prima verificare che il relativo valore sia diverso da NULL.
Qualsiasi oggetto destinato a eseguire più di impostare il cursore del mouse e/o generare un evento di spostamento del mouse, ad esempio fornire un feedback visivo speciale, deve restituire il flag POINTERINACTIVE_ACTIVATEONENTRY e disegnare il feedback solo quando è attivo. Se l'oggetto restituisce questo flag, il contenitore deve attivarlo immediatamente sul posto e quindi inoltrarlo lo stesso messaggio che ha attivato la chiamata a GetActivationPolicy
.
Se vengono restituiti entrambi i flag POINTERINACTIVE_ACTIVATEONENTRY e POINTERINACTIVE_DEACTIVATEONLEAVE, l'oggetto verrà attivato solo quando il mouse si trova sull'oggetto. Se viene restituito solo il flag POINTERINACTIVE_ACTIVATEONENTRY, l'oggetto verrà attivato una sola volta quando il mouse entra per la prima volta nell'oggetto.
È anche possibile che un controllo inattivo sia la destinazione di un'operazione di trascinamento e rilascio OLE. Ciò richiede l'attivazione del controllo nel momento in cui l'utente trascina un oggetto su di esso, in modo che la finestra del controllo possa essere registrata come destinazione di rilascio. Per causare l'attivazione durante un trascinamento, restituire il flag di POINTERINACTIVE_ACTIVATEONDRAG:
DWORD CMyAxCtrl::GetActivationPolicy()
{
return POINTERINACTIVE_ACTIVATEONDRAG;
}
Le informazioni comunicate da GetActivationPolicy
non devono essere memorizzate nella cache da un contenitore. Al contrario, questo metodo deve essere chiamato ogni volta che il mouse entra in un oggetto inattivo.
Se un oggetto inattivo non richiede l'attivazione sul posto quando il mouse lo immette, il contenitore deve inviare messaggi successivi WM_SETCURSOR a questo oggetto chiamando OnInactiveSetCursor purché il puntatore del mouse rimanga sull'oggetto.
L'abilitazione dell'interfaccia IPointerInactive
significa in genere che il controllo sia in grado di elaborare sempre i messaggi del mouse. Per ottenere questo comportamento in un contenitore che non supporta l'interfaccia IPointerInactive
, è necessario che il controllo sia sempre attivato quando visibile, il che significa che il controllo deve avere il flag OLEMISC_ACTIVATEWHENVISIBLE tra i flag vari. Tuttavia, per impedire che questo flag abbia effetto in un contenitore che supporta IPointerInactive
, è anche possibile specificare il flag OLEMISC_IGNOREACTIVATEWHENVISIBLE:
static const DWORD BASED_CODE _dwMyOleMisc =
OLEMISC_ACTIVATEWHENVISIBLE |
OLEMISC_IGNOREACTIVATEWHENVISIBLE |
OLEMISC_SETCLIENTSITEFIRST |
OLEMISC_INSIDEOUT |
OLEMISC_CANTLINKINSIDE |
OLEMISC_RECOMPOSEONRESIZE;
COleControl::GetAmbientProperty
Ottiene il valore di una proprietà di ambiente del contenitore.
BOOL GetAmbientProperty(
DISPID dispid,
VARTYPE vtProp,
void* pvProp);
Parametri
dwDispid
ID dispatch della proprietà di ambiente desiderata.
vtProp
Tag di tipo variant che specifica il tipo del valore da restituire in pvProp.
pvProp
Puntatore all'indirizzo della variabile che riceverà il valore della proprietà o il valore restituito. Il tipo effettivo di questo puntatore deve corrispondere al tipo specificato da vtProp.
vtProp | Tipo di pvProp |
---|---|
VT_BOOL | BOOL* |
VT_BSTR | CString* |
VT_I2 | short* |
VT_I4 | long* |
VT_R4 | float* |
VT_R8 | double* |
VT_CY | CY* |
VT_COLOR | OLE_COLOR* |
VT_DISPATCH | LPDISPATCH* |
VT_FONT | LPFONTDISP* |
Valore restituito
Diverso da zero se la proprietà di ambiente è supportata; in caso contrario, 0.
Osservazioni:
Se si usa GetAmbientProperty
per recuperare le proprietà DisplayName e ScaleUnits di ambiente, impostare vtProp su VT_BSTR e pvProp su CString*
. Se si recupera la proprietà Font di ambiente, impostare vtProp su VT_FONT e pvProp su LPFONTDISP*.
Si noti che le funzioni sono già state fornite per le proprietà di ambiente comuni, ad esempio AmbientBackColor e AmbientFont.
COleControl::GetAppearance
Implementa la funzione Get della proprietà Aspetto azionario del controllo.
short GetAppearance ();
Valore restituito
Il valore restituito specifica l'impostazione dell'aspetto corrente come short
valore (VT_I2), se ha esito positivo. Questo valore è zero se l'aspetto del controllo è piatto e 1 se l'aspetto del controllo è 3D.
COleControl::GetBackColor
Implementa la funzione Get della proprietà BackColor stock del controllo.
OLE_COLOR GetBackColor();
Valore restituito
Il valore restituito specifica il colore di sfondo corrente come valore OLE_COLOR, se ha esito positivo. Questo valore può essere convertito in un valore COLORREF con una chiamata a TranslateColor
.
COleControl::GetBorderStyle
Implementa la funzione Get della proprietà BorderStyle stock del controllo.
short GetBorderStyle();
Valore restituito
1 se il controllo ha un bordo normale; 0 se il controllo non ha bordo.
COleControl::GetCapture
Determina se l'oggetto dispone dell'acquisizione COleControl
del mouse.
CWnd* GetCapture();
Valore restituito
Se il controllo è attivato e senza finestra, restituisce this
se il controllo dispone attualmente dell'acquisizione del mouse (come determinato dal contenitore del controllo) o NULL se non dispone dell'acquisizione.
In caso contrario, restituisce l'oggetto CWnd
con acquisizione del mouse (uguale a CWnd::GetCapture
).
Osservazioni:
Un controllo senza finestra attivato riceve l'acquisizione del mouse quando viene chiamato SetCapture .
COleControl::GetClassID
Chiamato dal framework per recuperare l'ID classe OLE del controllo.
virtual HRESULT GetClassID(LPCLSID pclsid) = 0;
Parametri
pclsid
Puntatore alla posizione dell'ID classe.
Valore restituito
Diverso da zero se la chiamata non ha avuto esito positivo; in caso contrario, 0.
Osservazioni:
In genere implementato dal IMPLEMENT_OLECREATE_EX.
COleControl::GetClientOffset
Recupera la differenza tra l'angolo superiore sinistro dell'area rettangolare del controllo e l'angolo superiore sinistro dell'area client.
virtual void GetClientOffset(long* pdxOffset, long* pdyOffset) const;
Parametri
pdxOffset
Puntatore all'offset orizzontale dell'area client del controllo OLE.
pdyOffset
Puntatore all'offset verticale dell'area client del controllo OLE.
Osservazioni:
Il controllo OLE ha un'area rettangolare all'interno del relativo contenitore. L'area client del controllo è l'area di controllo esclusa i bordi e le barre di scorrimento. L'offset recuperato da GetClientOffset
è la differenza tra l'angolo superiore sinistro dell'area rettangolare del controllo e l'angolo superiore sinistro dell'area client. Se il controllo dispone di elementi non client diversi dai bordi standard e dalle barre di scorrimento, eseguire l'override di questa funzione membro per specificare l'offset.
COleControl::GetClientRect
Recupera le dimensioni dell'area client del controllo.
virtual void GetClientRect(LPRECT lpRect) const;
Parametri
lpRect
Puntatore a una RECT
struttura contenente le dimensioni dell'area client del controllo senza finestra, ovvero le dimensioni del controllo meno i bordi della finestra, i frame, le barre di scorrimento e così via. Il parametro lpRect indica le dimensioni del rettangolo client del controllo, non la relativa posizione.
COleControl::GetClientSite
Esegue una query su un oggetto per il puntatore al relativo sito client corrente all'interno del contenitore.
LPOLECLIENTSITE GetClientSite();
Valore restituito
Puntatore al sito client corrente del controllo nel relativo contenitore.
Osservazioni:
Il puntatore restituito punta a un'istanza di IOleClientSite
. L'interfaccia IOleClientSite
, implementata dai contenitori, è la visualizzazione dell'oggetto del relativo contesto: dove è ancorata nel documento, dove ottiene l'archiviazione, l'interfaccia utente e altre risorse.
COleControl::GetControlFlags
Recupera le impostazioni del flag di controllo.
virtual DWORD GetControlFlags();
Valore restituito
Combinazione ORed dei flag nell'enumerazione ControlFlags:
enum ControlFlags {
fastBeginPaint = 0x0001,
clipPaintDC = 0x0002,
pointerInactive = 0x0004,
noFlickerActivate = 0x0008,
windowlessActivate = 0x0010,
canOptimizeDraw = 0x0020,
};
Osservazioni:
Per impostazione predefinita, GetControlFlags
restituisce fastBeginPaint | clipPaintDC
.
Nome | Descrizione |
---|---|
fastBeginPaint |
Se impostato, usa una funzione begin-paint personalizzata per i controlli OLE anziché l'API BeginPaint (impostata per impostazione predefinita). |
clipPaintDC |
Se non è impostato, disabilita la chiamata a IntersectClipRect effettuata da COleControl e ottiene un piccolo vantaggio di velocità. Se si usa l'attivazione senza finestra, il flag non ha alcun effetto. |
pointerInactive |
Se impostato, fornisce l'interazione del mouse mentre il controllo è inattivo abilitando COleControl l'implementazione dell'interfaccia IPointerInactive , che è disabilitata per impostazione predefinita. |
noFlickerActivate |
Se impostata, elimina le operazioni di disegno aggiuntive e lo sfarfallio visivo a cui si accompagna. Utilizzare quando il controllo si disegna in modo identico negli stati inattivi e attivi. Se si usa l'attivazione senza finestra, il flag non ha alcun effetto. |
windowlessActivate |
Se impostato, indica che il controllo usa l'attivazione senza finestra. |
canOptimizeDraw |
Se impostato, indica che il controllo eseguirà il disegno ottimizzato, se il contenitore lo supporta. |
Per altre informazioni su GetControlFlags
e altre ottimizzazioni dei controlli OLE, vedere Controlli ActiveX: Ottimizzazione.
COleControl::GetControlSize
Recupera le dimensioni della finestra di controllo OLE.
void GetControlSize(
int* pcx,
int* pcy);
Parametri
pcx
Specifica la larghezza del controllo in pixel.
pcy
Specifica l'altezza del controllo in pixel.
Osservazioni:
Si noti che tutte le coordinate per le finestre di controllo sono relative all'angolo superiore sinistro del controllo.
COleControl::GetDC
Fornisce un oggetto senza finestra per ottenere un contesto di dispositivo schermo (o compatibile) dal relativo contenitore.
CDC* GetDC(
LPCRECT lprcRect = NULL,
DWORD dwFlags = OLEDC_PAINTBKGND);
Parametri
lprcRect
Puntatore al rettangolo che il controllo senza finestra desidera ridisegnare, nelle coordinate client del controllo. NULL indica l'extent dell'oggetto completo.
dwFlags
Disegno degli attributi del contesto di dispositivo. Le scelte sono:
OLEDC_NODRAW Indica che l'oggetto non userà il contesto di dispositivo per eseguire alcun disegno, ma semplicemente per ottenere informazioni sul dispositivo di visualizzazione. Il contenitore deve semplicemente passare il controller di dominio della finestra senza ulteriore elaborazione.
OLEDC_PAINTBKGND Richiede che il contenitore dipinga lo sfondo prima di restituire il controller di dominio. Un oggetto deve usare questo flag se richiede un controller di dominio per ridisegnare un'area con sfondo trasparente.
OLEDC_OFFSCREEN Informa il contenitore che l'oggetto desidera eseguire il rendering in una bitmap fuori schermo che deve quindi essere copiata sullo schermo. Un oggetto deve usare questo flag quando l'operazione di disegno che sta per eseguire genera un sacco di sfarfallio. Il contenitore è libero di rispettare o meno questa richiesta. Tuttavia, se questo flag non è impostato, il contenitore deve restituire un controller di dominio sullo schermo. In questo modo, gli oggetti possono eseguire operazioni dirette sullo schermo, ad esempio la visualizzazione di una selezione (tramite un'operazione XOR ).
Valore restituito
Puntatore al contesto di dispositivo di visualizzazione per l'area client del contenitore CWnd
se l'operazione riesce; in caso contrario, il valore restituito è NULL. Il contesto del dispositivo di visualizzazione può essere usato nelle funzioni GDI successive per disegnare nell'area client della finestra del contenitore.
Osservazioni:
La funzione membro ReleaseDC deve essere chiamata per rilasciare il contesto dopo il disegno. Quando si chiama GetDC
, gli oggetti passano il rettangolo in cui desiderano disegnare nelle proprie coordinate client. GetDC
li converte in coordinate dell'area client del contenitore. L'oggetto non deve richiedere un rettangolo di disegno desiderato maggiore del proprio rettangolo di area client, la cui dimensione può essere recuperata con GetClientRect. Ciò impedisce agli oggetti di disegnare inavvertitamente dove non dovrebbero.
COleControl::GetEnabled
Implementa la funzione Get della proprietà Stock Enabled del controllo.
BOOL GetEnabled();
Valore restituito
Diverso da zero se il controllo è abilitato; in caso contrario, 0.
COleControl::GetExtendedControl
Ottiene un puntatore a un oggetto gestito dal contenitore che rappresenta il controllo con un set esteso di proprietà.
LPDISPATCH GetExtendedControl();
Valore restituito
Puntatore all'oggetto di controllo esteso del contenitore. Se non è disponibile alcun oggetto, il valore è NULL.
Questo oggetto può essere modificato tramite la relativa IDispatch
interfaccia. È anche possibile usare QueryInterface
per ottenere altre interfacce disponibili fornite dall'oggetto . Tuttavia, l'oggetto non è necessario per supportare un set specifico di interfacce. Si noti che l'uso delle funzionalità specifiche dell'oggetto di controllo esteso di un contenitore limita la portabilità del controllo ad altri contenitori arbitrari.
Osservazioni:
La funzione che chiama questa funzione è responsabile del rilascio del puntatore al termine dell'oggetto . Si noti che il contenitore non è necessario per supportare questo oggetto.
COleControl::GetFocus
Determina se l'oggetto COleControl
ha lo stato attivo.
CWnd* GetFocus();
Valore restituito
Se il controllo è attivato e senza finestra, restituisce this
se il controllo ha attualmente lo stato attivo della tastiera (come determinato dal contenitore del controllo) o NULL se non ha lo stato attivo.
In caso contrario, restituisce l'oggetto CWnd
con lo stato attivo (uguale a CWnd::GetFocus
).
Osservazioni:
Un controllo senza finestra attivato riceve lo stato attivo quando viene chiamato SetFocus .
COleControl::GetFont
Implementa la funzione Get della proprietà Stock Font.
LPFONTDISP GetFont();
Valore restituito
Puntatore all'interfaccia dispatch del tipo di carattere della proprietà Font stock del controllo.
Osservazioni:
Si noti che il chiamante deve rilasciare l'oggetto al termine. All'interno dell'implementazione del controllo, utilizzare InternalGetFont
per accedere all'oggetto Font stock del controllo. Per altre informazioni sull'uso dei tipi di carattere nel controllo, vedere l'articolo Controlli ActiveX: Uso dei tipi di carattere in un controllo ActiveX.
COleControl::GetFontTextMetrics
Misura le metriche di testo per qualsiasi CFontHolder
oggetto di proprietà del controllo .
void GetFontTextMetrics(
LPTEXTMETRIC lptm,
CFontHolder& fontHolder);
Parametri
lptm
Puntatore a una struttura TEXTMETRIC .
FontHolder
Riferimento a un oggetto CFontHolder .
Osservazioni:
È possibile selezionare un tipo di carattere di questo tipo con la funzione COleControl::SelectFontObject . GetFontTextMetrics
inizializza la TEXTMETRIC
struttura a cui punta lptm con informazioni valide sul fontHolder
tipo di carattere se ha esito positivo o riempie la struttura con zeri se l'operazione non riesce. È consigliabile usare questa funzione invece di GetTextMetrics quando si disegna il controllo perché i controlli, come qualsiasi oggetto OLE incorporato, potrebbero essere necessari per eseguire il rendering in un metafile.
La TEXTMETRIC
struttura per il tipo di carattere predefinito viene aggiornata quando viene chiamata la funzione SelectFontObject . È consigliabile chiamare GetFontTextMetrics
solo dopo aver selezionato la proprietà Stock Font per assicurarsi che le informazioni fornite siano valide.
COleControl::GetForeColor
Implementa la funzione Get della proprietà ForeColor stock.
OLE_COLOR GetForeColor();
Valore restituito
Il valore restituito specifica il colore di primo piano corrente come valore OLE_COLOR, se ha esito positivo. Questo valore può essere convertito in un valore COLORREF con una chiamata a TranslateColor
.
COleControl::GetHwnd
Implementa la funzione Get della proprietà stock hWnd.
OLE_HANDLE GetHwnd();
Valore restituito
Handle della finestra del controllo OLE, se presente; in caso contrario NULL.
COleControl::GetMessageString
Chiamato dal framework per ottenere una stringa breve che descrive lo scopo della voce di menu identificata da nID.
virtual void GetMessageString(
UINT nID,
CString& rMessage) const;
Parametri
nID
ID voce di menu.
rMessage
Riferimento a un oggetto CString tramite il quale verrà restituita una stringa.
Osservazioni:
Può essere utilizzato per ottenere un messaggio per la visualizzazione in una barra di stato mentre la voce di menu è evidenziata. L'implementazione predefinita tenta di caricare una risorsa stringa identificata da nID.
COleControl::GetNotSupported
Impedisce l'accesso al valore della proprietà di un controllo da parte dell'utente.
void GetNotSupported();
Osservazioni:
Chiamare questa funzione al posto della funzione Get di qualsiasi proprietà in cui il recupero della proprietà dall'utente del controllo non è supportato. Un esempio è una proprietà che è solo scrittura.
COleControl::GetReadyState
Restituisce lo stato di conformità del controllo.
long GetReadyState();
Valore restituito
Lo stato di conformità del controllo, uno dei valori seguenti:
Nome | Descrizione |
---|---|
READYSTATE_UNINITIALIZED | Stato di inizializzazione predefinito |
READYSTATE_LOADING | Il controllo sta attualmente caricando le relative proprietà |
READYSTATE_LOADED | Il controllo è stato inizializzato |
READYSTATE_INTERACTIVE | Il controllo dispone di dati sufficienti per essere interattivi, ma non tutti i dati asincroni vengono ancora caricati |
READYSTATE_COMPLETE | Controllo ha tutti i relativi dati |
Osservazioni:
La maggior parte dei controlli semplici non deve mai distinguere tra LOADED e INTERACTIVE. Tuttavia, i controlli che supportano le proprietà del percorso dati potrebbero non essere pronti per essere interattivi finché almeno alcuni dati non vengono ricevuti in modo asincrono. Un controllo deve tentare di diventare interattivo il prima possibile.
COleControl::GetRectInContainer
Ottiene le coordinate del rettangolo del controllo rispetto al contenitore, espresso in unità dispositivo.
BOOL GetRectInContainer(LPRECT lpRect);
Parametri
lpRect
Puntatore alla struttura del rettangolo in cui verranno copiate le coordinate del controllo.
Valore restituito
Diverso da zero se il controllo è attivo sul posto; in caso contrario, 0.
Osservazioni:
Il rettangolo è valido solo se il controllo è attivo sul posto.
COleControl::GetStockTextMetrics
Misura le metriche di testo per la proprietà Font stock del controllo, che può essere selezionata con la funzione SelectStockFont .
void GetStockTextMetrics(LPTEXTMETRIC lptm);
Parametri
lptm
Puntatore a una struttura TEXTMETRIC .
Osservazioni:
La GetStockTextMetrics
funzione inizializzerà la TEXTMETRIC
struttura a cui punta lptm con informazioni sulle metriche valide se ha esito positivo o riempirà la struttura con zeri se non riesce. Usare questa funzione invece di GetTextMetrics quando si esegue il disegno del controllo perché i controlli, come qualsiasi oggetto OLE incorporato, potrebbero essere necessari per eseguire il rendering in un metafile.
La TEXTMETRIC
struttura per il tipo di carattere predefinito viene aggiornata quando viene chiamata la SelectStockFont
funzione . È consigliabile chiamare questa funzione solo dopo aver selezionato il tipo di carattere stock per assicurarsi che le informazioni fornite siano valide.
COleControl::GetText
Implementa la funzione Get della proprietà Stock Text o Caption.
BSTR GetText();
Valore restituito
Valore corrente della stringa di testo del controllo o stringa di lunghezza zero se non è presente alcuna stringa.
Nota
Per altre informazioni sul tipo di dati BSTR, vedere Tipi di dati nella sezione Macro e Globals.
Osservazioni:
Si noti che il chiamante di questa funzione deve chiamare SysFreeString
sulla stringa restituita per liberare la risorsa. All'interno dell'implementazione del controllo, utilizzare InternalGetText
per accedere alla proprietà Testo o Didascalia del controllo.
COleControl::GetWindowlessDropTarget
Eseguire l'override GetWindowlessDropTarget
quando si desidera che un controllo senza finestra sia la destinazione di un'operazione di trascinamento e rilascio OLE.
virtual IDropTarget* GetWindowlessDropTarget();
Valore restituito
Puntatore all'interfaccia dell'oggetto IDropTarget
. Poiché non dispone di una finestra, un oggetto senza finestra non può registrare un'interfaccia IDropTarget
. Tuttavia, per partecipare al trascinamento della selezione, un oggetto senza finestra può comunque implementare l'interfaccia e restituirlo in GetWindowlessDropTarget
.
Osservazioni:
In genere, ciò richiede che la finestra del controllo sia stata registrata come obiettivo di rilascio. Tuttavia, poiché il controllo non ha una finestra di propria proprietà, il contenitore userà la propria finestra come destinazione di rilascio. Il controllo deve semplicemente fornire un'implementazione dell'interfaccia IDropTarget
a cui il contenitore può delegare le chiamate al momento appropriato. Ad esempio:
IDropTarget *CMyAxCtrl::GetWindowlessDropTarget()
{
m_xDropTarget.AddRef();
return &m_xDropTarget;
}
COleControl::InitializeIDs
Informa la classe di base degli ID di base che il controllo userà.
void InitializeIIDs(
const IID* piidPrimary,
const IID* piidEvents);
Parametri
piidPrimary
Puntatore all'ID interfaccia dell'interfaccia dispatch primaria del controllo.
piidEvents
Puntatore all'ID interfaccia dell'interfaccia evento del controllo.
Osservazioni:
Chiamare questa funzione nel costruttore del controllo per informare la classe di base degli ID di interfaccia che verranno usati dal controllo.
COleControl::InternalGetFont
Accede alla proprietà Stock Font del controllo
CFontHolder& InternalGetFont();
Valore restituito
Riferimento a un oggetto CFontHolder che contiene l'oggetto Font stock.
COleControl::InternalGetText
Accede alla proprietà Stock Text o Caption del controllo.
const CString& InternalGetText();
Valore restituito
Riferimento alla stringa di testo del controllo.
COleControl::InternalSetReadyState
Imposta lo stato di idoneità del controllo.
void InternalSetReadyState(long lNewReadyState);
Parametri
lNewReadyState
Stato di conformità da impostare per il controllo, uno dei valori seguenti:
Nome | Descrizione |
---|---|
READYSTATE_UNINITIALIZED | Stato di inizializzazione predefinito |
READYSTATE_LOADING | Il controllo sta attualmente caricando le relative proprietà |
READYSTATE_LOADED | Il controllo è stato inizializzato |
READYSTATE_INTERACTIVE | Il controllo dispone di dati sufficienti per essere interattivi, ma non tutti i dati asincroni vengono ancora caricati |
READYSTATE_COMPLETE | Controllo ha tutti i relativi dati |
Osservazioni:
La maggior parte dei controlli semplici non deve mai distinguere tra LOADED e INTERACTIVE. Tuttavia, i controlli che supportano le proprietà del percorso dati potrebbero non essere pronti per essere interattivi finché almeno alcuni dati non vengono ricevuti in modo asincrono. Un controllo deve tentare di diventare interattivo il prima possibile.
COleControl::InvalidateControl
Forza il controllo a ridisegnarsi.
void InvalidateControl(
LPCRECT lpRect = NULL,
BOOL bErase = TRUE);
Parametri
lpRect
Puntatore all'area del controllo da invalidare.
bErase
Specifica se lo sfondo all'interno dell'area di aggiornamento deve essere cancellato quando viene elaborata l'area di aggiornamento.
Osservazioni:
Se lpRect ha un valore NULL, verrà ridisegnato l'intero controllo. Se lpRect non è NULL, indica la parte del rettangolo del controllo da invalidare. Nei casi in cui il controllo non dispone di una finestra o non è attualmente attivo, il rettangolo viene ignorato e viene effettuata una chiamata alla funzione membro IAdviseSink::OnViewChange del sito client. Usare questa funzione invece di CWnd::InvalidateRect
o InvalidateRect
.
COleControl::InvalidateRgn
Invalida l'area client della finestra del contenitore all'interno dell'area specificata.
void InvalidateRgn(CRgn* pRgn, BOOL bErase = TRUE);
Parametri
pRgn
Puntatore a un oggetto CRgn che identifica l'area di visualizzazione dell'oggetto OLE da invalidare, nelle coordinate client della finestra contenitore. Se questo parametro è NULL, l'extent è l'intero oggetto.
bErase
Specifica se lo sfondo all'interno dell'area invalidata deve essere cancellato. Se TRUE, lo sfondo viene cancellato. Se FALSE, lo sfondo rimane invariato.
Osservazioni:
Può essere usato per ridisegnare i controlli senza finestra all'interno del contenitore. L'area invalidata, insieme a tutte le altre aree nell'area di aggiornamento, viene contrassegnata per disegnare quando viene inviato il messaggio di WM_PAINT successivo.
Se bErase è TRUE per qualsiasi parte dell'area di aggiornamento, lo sfondo nell'intera area, non solo nella parte specificata, viene cancellato.
COleControl::IsConvertingVBX
Consente il caricamento specializzato di un controllo OLE.
BOOL IsConvertingVBX();
Valore restituito
Diverso da zero se il controllo viene convertito; in caso contrario, 0.
Osservazioni:
Quando si converte un modulo che utilizza controlli VBX in uno che utilizza controlli OLE, potrebbe essere necessario un codice di caricamento speciale per i controlli OLE. Ad esempio, se si carica un'istanza del controllo OLE, potrebbe essere presente una chiamata a PX_Font in DoPropExchange
:
PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);
Tuttavia, i controlli VBX non hanno un oggetto Font; ogni proprietà del tipo di carattere è stata salvata singolarmente. In questo caso, si userà IsConvertingVBX
per distinguere tra questi due casi:
if (!IsConvertingVBX())
{
PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);
}
else
{
PX_String(pPX, _T("FontName"), tempString, DefaultName);
m_pMyFont->m_pFont->put_Name(tempString.AllocSysString());
PX_Bool(pPX, _T("FontUnderline"), tempBool, DefaultValue);
m_pMyFont->m_pFont->put_Underline(tempBool);
}
Un altro caso consiste nel caso in cui il controllo VBX abbia salvato dati binari proprietari (nel relativo gestore messaggi VBM_SAVEPROPERTY) e il controllo OLE salva i dati binari in un formato diverso. Se si desidera che il controllo OLE sia compatibile con le versioni precedenti con il controllo VBX, è possibile leggere entrambi i formati precedenti e nuovi usando la IsConvertingVBX
funzione distinguendo se il controllo VBX o il controllo OLE è in fase di caricamento.
Nella funzione del controllo è possibile verificare la presenza di DoPropExchange
questa condizione e, se true, eseguire il codice di caricamento specifico di questa conversione, ad esempio gli esempi precedenti. Se il controllo non viene convertito, è possibile eseguire il normale codice di caricamento. Questa possibilità è applicabile solo ai controlli convertiti da controparti VBX.
COleControl::IsInvokeAllowed
Abilita la chiamata al metodo di automazione.
BOOL IsInvokeAllowed(DISPID dispid);
Valore restituito
Diverso da zero se il controllo è stato inizializzato; in caso contrario, 0.
Osservazioni:
L'implementazione del framework di IDispatch::Invoke
chiamate IsInvokeAllowed
per determinare se una determinata funzione (identificata da dispid
) può essere richiamata. Il comportamento predefinito per un controllo OLE consiste nell'consentire la chiamata dei metodi di automazione solo se il controllo è stato inizializzato; tuttavia, IsInvokeAllowed
è una funzione virtuale e può essere sottoposto a override, se necessario , ad esempio quando il controllo viene usato come server di automazione.
COleControl::IsModified
Determina se lo stato del controllo è stato modificato.
BOOL IsModified();
Valore restituito
Diverso da zero se lo stato del controllo è stato modificato dopo l'ultimo salvataggio; in caso contrario, 0.
Osservazioni:
Lo stato di un controllo viene modificato quando una proprietà cambia valore.
COleControl::IsOptimizedDraw
Determina se il contenitore supporta il disegno ottimizzato per l'operazione di disegno corrente.
BOOL IsOptimizedDraw();
Valore restituito
TRUE se il contenitore supporta il disegno ottimizzato per l'operazione di disegno corrente; in caso contrario FALSE.
Osservazioni:
Se il disegno ottimizzato è supportato, il controllo non deve selezionare oggetti obsoleti (penne, pennelli, tipi di carattere e così via) nel contesto del dispositivo al termine del disegno.
COleControl::IsSubclassedControl
Chiamato dal framework per determinare se il controllo sottoclassa un controllo Windows.
virtual BOOL IsSubclassedControl();
Valore restituito
Diverso da zero se il controllo è sottoclassato; in caso contrario, 0.
Osservazioni:
È necessario eseguire l'override di questa funzione e restituire TRUE se il controllo OLE sottoclassa un controllo Windows.
COleControl::Load
Reimposta i dati precedenti caricati in modo asincrono e avvia un nuovo caricamento della proprietà asincrona del controllo.
void Load(LPCTSTR strNewPath, CDataPathProperty& prop);
Parametri
strNewPath
Puntatore a una stringa contenente il percorso che fa riferimento alla posizione assoluta della proprietà del controllo asincrono.
puntello
Oggetto CDataPathProperty che implementa una proprietà di controllo asincrona.
COleControl::LockInPlaceActive
Impedisce al contenitore di disattivare il controllo.
BOOL LockInPlaceActive(BOOL bLock);
Parametri
blocco
TRUE se lo stato attivo sul posto del controllo deve essere bloccato; FALSE se deve essere sbloccato.
Valore restituito
Diverso da zero se il blocco ha avuto esito positivo; in caso contrario, 0.
Osservazioni:
Si noti che ogni blocco del controllo deve essere associato a uno sblocco del controllo al termine. È consigliabile bloccare il controllo solo per brevi periodi, ad esempio durante la generazione di un evento.
COleControl::OnAmbientPropertyChange
Chiamato dal framework quando una proprietà di ambiente del contenitore è stata modificata.
virtual void OnAmbientPropertyChange(DISPID dispid);
Parametri
dispID
ID dispatch della proprietà di ambiente modificata o DISPID_UNKNOWN se sono state modificate più proprietà.
COleControl::OnAppearanceChanged
Chiamato dal framework quando il valore della proprietà Aspetto azionario è stato modificato.
virtual void OnAppearanceChanged ();
Osservazioni:
Eseguire l'override di questa funzione se si desidera inviare una notifica dopo la modifica di questa proprietà. L'implementazione predefinita chiama InvalidateControl
.
COleControl::OnBackColorChanged
Chiamato dal framework quando il valore della proprietà Stock BackColor è stato modificato.
virtual void OnBackColorChanged();
Osservazioni:
Eseguire l'override di questa funzione se si desidera inviare una notifica dopo la modifica di questa proprietà. L'implementazione predefinita chiama InvalidateControl
.
COleControl::OnBorderStyleChanged
Chiamato dal framework quando il valore della proprietà BorderStyle stock è stato modificato.
virtual void OnBorderStyleChanged();
Osservazioni:
L'implementazione predefinita chiama InvalidateControl
.
Eseguire l'override di questa funzione se si desidera inviare una notifica dopo la modifica di questa proprietà.
COleControl::OnClick
Chiamato dal framework quando è stato fatto clic su un pulsante del mouse o è stato richiamato il metodo di azioni DoClick.
virtual void OnClick(USHORT iButton);
Parametri
iButton
Indice di un pulsante del mouse. I valori consentiti sono i seguenti:
LEFT_BUTTON è stato fatto clic sul pulsante sinistro del mouse.
MIDDLE_BUTTON È stato fatto clic sul pulsante centrale del mouse.
RIGHT_BUTTON è stato fatto clic sul pulsante destro del mouse.
Osservazioni:
L'implementazione predefinita chiama COleControl::FireClick
.
Eseguire l'override di questa funzione membro per modificare o estendere la gestione predefinita.
COleControl::OnClose
Chiamato dal framework quando il contenitore ha chiamato la funzione del IOleControl::Close
controllo.
virtual void OnClose(DWORD dwSaveOption);
Parametri
dwSaveOption
Flag che indica se l'oggetto deve essere salvato prima del caricamento. I valori validi sono:
OLECLOSE_SAVEIFDIRTY
OLECLOSE_NOSAVE
OLECLOSE_PROMPTSAVE
Osservazioni:
Per impostazione predefinita, OnClose
salva l'oggetto controllo se è stato modificato e dwSaveOption è OLECLOSE_SAVEIFDIRTY o OLECLOSE_PROMPTSAVE.
COleControl::OnDoVerb
Chiamato dal framework quando il contenitore chiama la IOleObject::DoVerb
funzione membro.
virtual BOOL OnDoVerb(
LONG iVerb,
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Parametri
iVerb
Indice del verbo di controllo da richiamare.
lpMsg
Puntatore al messaggio di Windows che ha causato la chiamata del verbo.
hWndParent
Handle per la finestra padre del controllo. Se l'esecuzione del verbo crea una finestra (o finestre), hWndParent deve essere usato come elemento padre.
lpRect
Puntatore a una struttura RECT in cui verranno copiate le coordinate del controllo rispetto al contenitore.
Valore restituito
Diverso da zero se la chiamata ha avuto esito positivo; in caso contrario, 0.
Osservazioni:
L'implementazione predefinita usa le ON_OLEVERB e ON_STDOLEVERB voci della mappa messaggi per determinare la funzione appropriata da richiamare.
Eseguire l'override di questa funzione per modificare la gestione predefinita del verbo.
COleControl::OnDraw
Chiamato dal framework per disegnare il controllo OLE nel rettangolo di delimitazione specificato usando il contesto di dispositivo specificato.
virtual void OnDraw(
CDC* pDC,
const CRect& rcBounds,
const CRect& rcInvalid);
Parametri
pDC
Contesto del dispositivo in cui si verifica il disegno.
rcBounds
Area rettangolare del controllo, incluso il bordo.
rcInvalid
Area rettangolare del controllo non valida.
Osservazioni:
OnDraw
viene in genere chiamato per la visualizzazione dello schermo, passando un contesto di dispositivo dello schermo come pDC. Il parametro rcBounds identifica il rettangolo nel contesto del dispositivo di destinazione (rispetto alla modalità di mapping corrente). Il parametro rcInvalid è il rettangolo effettivo non valido. In alcuni casi si tratta di un'area più piccola rispetto a rcBounds.
COleControl::OnDrawMetafile
Chiamato dal framework per disegnare il controllo OLE nel rettangolo di delimitazione specificato usando il contesto di dispositivo del metafile specificato.
virtual void OnDrawMetafile(
CDC* pDC,
const CRect& rcBounds);
Parametri
pDC
Contesto del dispositivo in cui si verifica il disegno.
rcBounds
Area rettangolare del controllo, incluso il bordo.
Osservazioni:
L'implementazione predefinita chiama la funzione OnDraw .
COleControl::OnEdit
Fa sì che il controllo sia attivato dall'interfaccia utente.
virtual BOOL OnEdit(
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Parametri
lpMsg
Puntatore al messaggio di Windows che ha richiamato il verbo.
hWndParent
Handle per la finestra padre del controllo.
lpRect
Puntatore al rettangolo utilizzato dal controllo nel contenitore.
Valore restituito
Diverso da zero se la chiamata ha esito positivo; in caso contrario, 0.
Osservazioni:
Ciò ha lo stesso effetto di richiamare il verbo di OLEIVERB_UIACTIVATE del controllo.
Questa funzione viene in genere usata come funzione del gestore per una voce della mappa dei messaggi ON_OLEVERB. Questo rende disponibile un verbo "Modifica" nel menu "Oggetto" del controllo. Ad esempio:
ON_OLEVERB(AFX_IDS_VERB_EDIT, OnEdit)
COleControl::OnEnabledChanged
Chiamato dal framework quando il valore della proprietà Enabled è stato modificato.
virtual void OnEnabledChanged();
Osservazioni:
Eseguire l'override di questa funzione se si desidera inviare una notifica dopo la modifica di questa proprietà. L'implementazione predefinita chiama InvalidateControl.
COleControl::OnEnumVerbs
Chiamato dal framework quando il contenitore chiama la IOleObject::EnumVerbs
funzione membro.
virtual BOOL OnEnumVerbs(LPENUMOLEVERB* ppenumOleVerb);
Parametri
ppenumOleVerb
Puntatore all'oggetto IEnumOLEVERB
che enumera i verbi del controllo.
Valore restituito
Diverso da zero se sono disponibili verbi; in caso contrario, 0.
Osservazioni:
L'implementazione predefinita enumera le voci ON_OLEVERB nella mappa dei messaggi.
Eseguire l'override di questa funzione per modificare il modo predefinito di enumerare i verbi.
COleControl::OnEventAdvise
Chiamato dal framework quando un gestore eventi è connesso o disconnesso da un controllo OLE.
virtual void OnEventAdvise(BOOL bAdvise);
Parametri
bAdvise
TRUE indica che un gestore eventi è stato connesso al controllo . FALSE indica che un gestore eventi è stato disconnesso dal controllo .
COleControl::OnFontChanged
Chiamato dal framework quando il valore della proprietà Font stock è stato modificato.
virtual void OnFontChanged();
Osservazioni:
L'implementazione predefinita chiama COleControl::InvalidateControl
. Se il controllo sottoclassa un controllo Windows, l'implementazione predefinita invia anche un messaggio di WM_SETFONT alla finestra del controllo.
Eseguire l'override di questa funzione se si desidera inviare una notifica dopo la modifica di questa proprietà.
Esempio
void CMyAxCtrl::OnFontChanged()
{
// Always set it to the container's font
if (m_MyEdit.m_hWnd != NULL)
{
IFontDisp *pFontDisp = NULL;
IFont *pFont = NULL;
HRESULT hr;
// Get the container's FontDisp interface
pFontDisp = AmbientFont();
if (pFontDisp)
{
hr = pFontDisp->QueryInterface(IID_IFont, (LPVOID*)&pFont);
if (FAILED(hr))
{
pFontDisp->Release();
return;
}
}
HFONT hFont = NULL;
if (pFont)
{
pFont->get_hFont(&hFont);
m_MyEdit.SendMessage(WM_SETFONT, (WPARAM)hFont, 0L);
}
pFontDisp->Release();
}
// Invalidate the control
m_MyEdit.Invalidate();
m_MyEdit.UpdateWindow();
COleControl::OnFontChanged();
}
COleControl::OnForeColorChanged
Chiamato dal framework quando il valore della proprietà ForeColor azionario è stato modificato.
virtual void OnForeColorChanged();
Osservazioni:
L'implementazione predefinita chiama InvalidateControl
.
Eseguire l'override di questa funzione se si desidera inviare una notifica dopo la modifica di questa proprietà.
COleControl::OnFreezeEvents
Chiamato dal framework dopo che il contenitore chiama IOleControl::FreezeEvents
.
virtual void OnFreezeEvents(BOOL bFreeze);
Parametri
bFreeze
TRUE se la gestione degli eventi del controllo è bloccata; in caso contrario FALSE.
Osservazioni:
L'implementazione predefinita non esegue alcuna operazione.
Eseguire l'override di questa funzione se si desidera un comportamento aggiuntivo quando la gestione degli eventi è bloccata o non è bloccata.
COleControl::OnGetColorSet
Chiamato dal framework quando il contenitore chiama la IViewObject::GetColorSet
funzione membro.
virtual BOOL OnGetColorSet(
DVTARGETDEVICE* ptd,
HDC hicTargetDev,
LPLOGPALETTE* ppColorSet);
Parametri
Ptd
Punta al dispositivo di destinazione per il quale deve essere eseguito il rendering dell'immagine. Se questo valore è NULL, il rendering dell'immagine deve essere eseguito per un dispositivo di destinazione predefinito, in genere un dispositivo di visualizzazione.
hicTargetDev
Specifica il contesto informativo nel dispositivo di destinazione indicato da ptd. Questo parametro può essere un contesto di dispositivo, ma non è necessariamente uno. Se ptd è NULL, anche hicTargetDev deve essere NULL.
ppColorSet
Puntatore alla posizione in cui copiare il set di colori da copiare. Se la funzione non restituisce il set di colori, viene restituito NULL.
Valore restituito
Diverso da zero se viene restituito un set di colori valido; in caso contrario, 0.
Osservazioni:
Il contenitore chiama questa funzione per ottenere tutti i colori necessari per disegnare il controllo OLE. Il contenitore può usare i set di colori ottenuti insieme ai colori necessari per impostare la tavolozza dei colori complessiva. L'implementazione predefinita restituisce FALSE.
Eseguire l'override di questa funzione per eseguire qualsiasi elaborazione speciale di questa richiesta.
COleControl::OnGetControlInfo
Chiamato dal framework quando il contenitore del controllo ha richiesto informazioni sul controllo.
virtual void OnGetControlInfo(LPCONTROLINFO pControlInfo);
Parametri
pControlInfo
Puntatore a una struttura CONTROLINFO da inserire.
Osservazioni:
Queste informazioni sono costituite principalmente da una descrizione delle chiavi mnemonic del controllo. L'implementazione predefinita riempie pControlInfo con informazioni predefinite.
Eseguire l'override di questa funzione se il controllo deve elaborare le chiavi mnemonic.
COleControl::OnGetDisplayString
Chiamato dal framework per ottenere una stringa che rappresenta il valore corrente della proprietà identificata da dispid.
virtual BOOL OnGetDisplayString(
DISPID dispid,
CString& strValue);
Parametri
dispid
L'ID di invio di una proprietà del controllo.
strValue
Riferimento a un oggetto CString tramite il quale verrà restituita una stringa.
Valore restituito
Diverso da zero se una stringa è stata restituita in strValue; in caso contrario, 0.
Osservazioni:
Eseguire l'override di questa funzione se il controllo dispone di una proprietà il cui valore non può essere convertito direttamente in una stringa e si desidera che il valore della proprietà venga visualizzato in un browser delle proprietà fornito dal contenitore.
COleControl::OnGetInPlaceMenu
Chiamato dal framework quando il controllo è attivato dall'interfaccia utente per ottenere il menu da unire nel menu esistente del contenitore.
virtual HMENU OnGetInPlaceMenu();
Valore restituito
Handle del menu del controllo o NULL se il controllo non dispone di nessuno. L'implementazione predefinita restituisce NULL.
Osservazioni:
Per altre informazioni sull'unione di risorse OLE, vedere l'articolo Menu e risorse (OLE).
COleControl::OnGetNaturalextent
Chiamato dal framework in risposta alla richiesta di IViewObjectEx::GetNaturalExtent
un contenitore.
virtual BOOL OnGetNaturalExtent(
DWORD dwAspect,
LONG lindex,
DVTARGETDEVICE* ptd,
HDC hicTargetDev,
DVEXTENTINFO* pExtentInfo,
LPSIZEL psizel);
Parametri
dwAspect
Specifica la modalità con cui l'oggetto deve essere rappresentato. Le rappresentazioni includono contenuto, un'icona, un'anteprima o un documento stampato. I valori validi vengono ricavati dall'enumerazione DVASPECT o DVASPECT2.
lindex
Parte dell'oggetto di interesse. Attualmente solo -1 è valido.
Ptd
Punta alla struttura DVTARGETDEVICE che definisce il dispositivo di destinazione per il quale devono essere restituite le dimensioni dell'oggetto.
hicTargetDev
Specifica il contesto delle informazioni per il dispositivo di destinazione indicato dal parametro ptd da cui l'oggetto può estrarre le metriche del dispositivo e testare le funzionalità del dispositivo. Se ptd è NULL, l'oggetto deve ignorare il valore nel parametro hicTargetDev .
pExtentInfo
Punta alla DVEXTENTINFO
struttura che specifica i dati di ridimensionamento. La DVEXTENTINFO
struttura è:
typedef struct tagExtentInfo
{
UINT cb;
DWORD dwExtentMode;
SIZEL sizelProposed;
} DVEXTENTINFO;
Il membro dwExtentMode
della struttura può accettare uno dei due valori seguenti:
DVEXTENT_CONTENT Chiedere quanto grande deve essere il controllo per adattare esattamente il contenuto (snap-to-size)
DVEXTENT_INTEGRAL Durante il ridimensionamento, passare le dimensioni proposte al controllo
psizel
Punta ai dati di ridimensionamento restituiti dal controllo . I dati di ridimensionamento restituiti sono impostati su -1 per qualsiasi dimensione non modificata.
Valore restituito
Diverso da zero se restituisce o regola correttamente le dimensioni; in caso contrario, 0.
Osservazioni:
Eseguire l'override di questa funzione per restituire le dimensioni di visualizzazione dell'oggetto più vicine alle dimensioni proposte ed ex modalità tenda nella DVEXTENTINFO
struttura. L'implementazione predefinita restituisce FALSE e non apporta modifiche alle dimensioni.
COleControl::OnGetPredefinedStrings
Chiamato dal framework per ottenere un set di stringhe predefinite che rappresentano i valori possibili per una proprietà.
virtual BOOL OnGetPredefinedStrings(
DISPID dispid,
CStringArray* pStringArray,
CDWordArray* pCookieArray);
Parametri
dispid
L'ID di invio di una proprietà del controllo.
pStringArray
Matrice di stringhe da compilare con valori restituiti.
pCookieArray
Matrice DWORD da compilare con valori restituiti.
Valore restituito
Diverso da zero se gli elementi sono stati aggiunti a pStringArray e pCookieArray.
Osservazioni:
Eseguire l'override di questa funzione se il controllo dispone di una proprietà con un set di valori possibili che possono essere rappresentati da stringhe. Per ogni elemento aggiunto a pStringArray, è necessario aggiungere un elemento "cookie" corrispondente a pCookieArray. Questi valori "cookie" possono essere passati successivamente dal framework alla COleControl::OnGetPredefinedValue
funzione.
COleControl::OnGetPredefinedValue
Chiamato dal framework per ottenere il valore corrispondente a una delle stringhe predefinite restituite in precedenza da un override di COleControl::OnGetPredefinedStrings
.
virtual BOOL OnGetPredefinedValue(
DISPID dispid,
DWORD dwCookie,
VARIANT* lpvarOut);
Parametri
dispid
L'ID di invio di una proprietà del controllo.
dwCookie
Valore del cookie restituito in precedenza da un override di COleControl::OnGetPredefinedStrings
.
lpvarOut
Puntatore a una VARIANT
struttura tramite cui verrà restituito un valore della proprietà.
Valore restituito
Diverso da zero se un valore è stato restituito in lpvarOut; in caso contrario, 0.
COleControl::OnGetViewExtent
Chiamato dal framework in risposta alla richiesta IViewObject2::GetExtent di un contenitore.
virtual BOOL OnGetViewExtent(
DWORD dwDrawAspect,
LONG lindex,
DVTARGETDEVICE* ptd,
LPSIZEL lpsizel);
Parametri
dwDrawAspect
DWORD che descrive quale forma, o aspetto, di un oggetto deve essere visualizzato. I valori validi vengono ricavati dall'enumerazione DVASPECT o DVASPECT2.
lindex
Parte dell'oggetto di interesse. Attualmente solo -1 è valido.
Ptd
Punta alla struttura DVTARGETDEVICE che definisce il dispositivo di destinazione per il quale devono essere restituite le dimensioni dell'oggetto.
lpsizel
Punta alla posizione in cui vengono restituite le dimensioni dell'oggetto.
Valore restituito
Diverso da zero se le informazioni sull'extent vengono restituite correttamente; in caso contrario, 0.
Osservazioni:
Eseguire l'override di questa funzione se il controllo utilizza un disegno a due passaggi e le relative parti opache e trasparenti hanno dimensioni diverse.
COleControl::OnGetViewRect
Chiamato dal framework in risposta alla richiesta di IViewObjectEx::GetRect
un contenitore.
virtual BOOL OnGetViewRect(DWORD dwAspect, LPRECTL pRect);
Parametri
dwAspect
DWORD che descrive quale forma, o aspetto, di un oggetto deve essere visualizzato. I valori validi vengono ricavati dall'enumerazione DVASPECT o DVASPECT2:
DVASPECT_CONTENT rettangolo di delimitazione dell'intero oggetto. Angolo superiore sinistro all'origine dell'oggetto e dimensioni uguali all'extent restituito da
GetViewExtent
.DVASPECT_OPAQUE Oggetti con un'area opaca rettangolare restituiscono tale rettangolo. Altri non riescono.
DVASPECT_TRANSPARENT Rettangolo che copre tutte le parti trasparenti o irregolari.
pRect
Punta alla struttura RECTL specificando il rettangolo in cui deve essere disegnato l'oggetto. Questo parametro controlla il posizionamento e l'estensione dell'oggetto.
Valore restituito
Diverso da zero se il rettangolo ridimensionato all'oggetto viene restituito correttamente; in caso contrario, 0.
Osservazioni:
Le dimensioni dell'oggetto vengono convertite da in un rettangolo a partire da OnGetViewRect
una posizione specifica (il valore predefinito è l'angolo superiore sinistro della visualizzazione). Eseguire l'override di questa funzione se il controllo utilizza un disegno a due passaggi e le relative parti opache e trasparenti hanno dimensioni diverse.
COleControl::OnGetViewStatus
Chiamato dal framework in risposta alla richiesta di IViewObjectEx::GetViewStatus
un contenitore.
virtual DWORD OnGetViewStatus();
Valore restituito
Uno dei valori dell'enumerazione VIEWSTATUS se ha esito positivo; in caso contrario, 0. I valori possibili sono una delle seguenti combinazioni:
Nome | Descrizione |
---|---|
VIEWSTATUS_OPAQUE | L'oggetto è completamente opaco. Se questo bit non è impostato, l'oggetto contiene parti trasparenti. Questo bit si applica solo agli aspetti correlati al contenuto e non a DVASPECT_ICON o DVASPECT_DOCPRINT. |
VIEWSTATUS_SOLIDBKGND | L'oggetto ha uno sfondo a tinta unita (costituito da un colore a tinta unita, non da un motivo pennello). Questo bit è significativo solo se VIEWSTATUS_OPAQUE è impostato e si applica solo agli aspetti correlati al contenuto e non a DVASPECT_ICON o DVASPECT_DOCPRINT. |
VIEWSTATUS_DVASPECTOPAQUE | L'oggetto supporta DVASPECT_OPAQUE. Tutti i metodi IViewObjectEx che accettano un aspetto di disegno come parametro possono essere chiamati con questo aspetto. |
VIEWSTATUS_DVASPECTTRANSPARENT | L'oggetto supporta DVASPECT_TRANSPARENT. Tutti i IViewObjectEx metodi che accettano un aspetto di disegno come parametro possono essere chiamati con questo aspetto. |
Osservazioni:
Eseguire l'override di questa funzione se il controllo utilizza il disegno a due passaggi. L'implementazione predefinita restituisce VIEWSTATUS_OPAQUE.
COleControl::OnHideToolBars
Chiamato dal framework quando il controllo è disattivato dall'interfaccia utente.
virtual void OnHideToolBars();
Osservazioni:
L'implementazione deve nascondere tutte le barre degli strumenti visualizzate da OnShowToolbars
.
COleControl::OnInactiveMouseMove
Chiamato dal contenitore per l'oggetto inattivo sotto il puntatore del mouse alla ricezione di un messaggio di WM_MOUSEMOVE.
virtual void OnInactiveMouseMove(
LPCRECT lprcBounds,
long x,
long y,
DWORD dwKeyState);
Parametri
lprcBounds
Rettangolo di delimitazione dell'oggetto, nelle coordinate client della finestra contenitore. Indica all'oggetto la posizione e le dimensioni esatte sullo schermo quando è stato ricevuto il messaggio WM_MOUSEMOVE.
x
Coordinata x della posizione del mouse nelle coordinate client della finestra contenitore.
y
Coordinata y della posizione del mouse nelle coordinate client della finestra contenitore.
dwKeyState
Identifica lo stato corrente dei tasti di modifica della tastiera sulla tastiera. I valori validi possono essere una combinazione di qualsiasi flag MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON e MK_RBUTTON.
Osservazioni:
Si noti che le coordinate client della finestra (pixel) vengono usate per passare la posizione del cursore del mouse. Ciò è reso possibile anche passando il rettangolo di delimitazione dell'oggetto nello stesso sistema di coordinate.
COleControl::OnInactiveSetCursor
Chiamato dal contenitore per l'oggetto inattivo sotto il puntatore del mouse alla ricezione di un messaggio di WM_SETCURSOR.
virtual BOOL OnInactiveSetCursor(
LPCRECT lprcBounds,
long x,
long y,
DWORD dwMouseMsg,
BOOL bSetAlways);
Parametri
lprcBounds
Rettangolo di delimitazione dell'oggetto, nelle coordinate client della finestra contenitore. Indica all'oggetto la posizione esatta e le dimensioni sullo schermo quando è stato ricevuto il messaggio WM_SETCURSOR.
x
Coordinata x della posizione del mouse nelle coordinate client della finestra contenitore.
y
Coordinata y della posizione del mouse nelle coordinate client della finestra contenitore.
dwMouseMsg
Identificatore del messaggio del mouse per il quale si è verificato un WM_SETCURSOR.
bSetAlways
Specifica se l'oggetto deve impostare o meno il cursore. Se TRUE, l'oggetto deve impostare il cursore; se FALSE, il cursore non è obbligato a impostare il cursore e deve restituire S_FALSE in tal caso.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Si noti che le coordinate client della finestra (pixel) vengono usate per passare la posizione del cursore del mouse. Ciò è reso possibile anche passando il rettangolo di delimitazione dell'oggetto nello stesso sistema di coordinate.
COleControl::OnKeyDownEvent
Chiamato dal framework dopo l'elaborazione di un evento KeyDown azionario.
virtual void OnKeyDownEvent(
USHORT nChar,
USHORT nShiftState);
Parametri
nChar
Valore del codice della chiave virtuale del tasto premuto. Per un elenco dei codici di chiave virtuale standard, vedere Winuser.h
nShiftState
Contiene una combinazione dei flag seguenti:
SHIFT_MASK Il tasto MAIUSC è stato premuto durante l'azione.
CTRL_MASK Il tasto CTRL è stato premuto durante l'azione.
ALT_MASK Il tasto ALT è stato premuto durante l'azione.
Osservazioni:
Eseguire l'override di questa funzione se il controllo deve accedere alle informazioni sulla chiave dopo che l'evento è stato generato.
COleControl::OnKeyPressEvent
Chiamato dal framework dopo che è stato generato l'evento Stock KeyPress.
virtual void OnKeyPressEvent(USHORT nChar);
Parametri
nChar
Contiene il valore del codice della chiave virtuale premuto. Per un elenco dei codici di chiave virtuale standard, vedere Winuser.h
Osservazioni:
Si noti che il valore nChar potrebbe essere stato modificato dal contenitore.
Eseguire l'override di questa funzione se si vuole notificare dopo che si verifica questo evento.
COleControl::OnKeyUpEvent
Chiamato dal framework dopo l'elaborazione di un evento KeyDown azionario.
virtual void OnKeyUpEvent(
USHORT nChar,
USHORT nShiftState);
Parametri
nChar
Valore del codice della chiave virtuale del tasto premuto. Per un elenco dei codici di chiave virtuale standard, vedere Winuser.h
nShiftState
Contiene una combinazione dei flag seguenti:
SHIFT_MASK Il tasto MAIUSC è stato premuto durante l'azione.
CTRL_MASK Il tasto CTRL è stato premuto durante l'azione.
ALT_MASK Il tasto ALT è stato premuto durante l'azione.
Osservazioni:
Eseguire l'override di questa funzione se il controllo deve accedere alle informazioni sulla chiave dopo che l'evento è stato generato.
COleControl::OnMapPropertyToPage
Chiamato dal framework per ottenere l'ID classe di una pagina delle proprietà che implementa la modifica della proprietà specificata.
virtual BOOL OnMapPropertyToPage(
DISPID dispid,
LPCLSID lpclsid,
BOOL* pbPageOptional);
Parametri
dispid
L'ID di invio di una proprietà del controllo.
lpclsid
Puntatore a una CLSID
struttura tramite cui verrà restituito un ID classe.
pbPageOptional
Restituisce un indicatore che indica se l'utilizzo della pagina delle proprietà specificata è facoltativo.
Valore restituito
Diverso da zero se è stato restituito un ID classe in lpclsid; in caso contrario, 0.
Osservazioni:
Eseguire l'override di questa funzione per fornire un modo per richiamare le pagine delle proprietà del controllo dal browser delle proprietà del contenitore.
COleControl::OnMnemonic
Chiamato dal framework quando il contenitore ha rilevato che è stato premuto un tasto mnemonico del controllo OLE.
virtual void OnMnemonic(LPMSG pMsg);
Parametri
pMsg
Puntatore al messaggio di Windows generato dalla pressione di un tasto mnemonico.
COleControl::OnProperties
Chiamato dal framework quando il verbo delle proprietà del controllo è stato richiamato dal contenitore.
virtual BOOL OnProperties(
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Parametri
lpMsg
Puntatore al messaggio di Windows che ha richiamato il verbo.
hWndParent
Handle per la finestra padre del controllo.
lpRect
Puntatore al rettangolo utilizzato dal controllo nel contenitore.
Valore restituito
Diverso da zero se la chiamata ha esito positivo; in caso contrario, 0.
Osservazioni:
L'implementazione predefinita visualizza una finestra di dialogo delle proprietà modali.
È anche possibile usare questa funzione per causare la visualizzazione delle pagine delle proprietà del controllo. Effettuare una chiamata alla OnProperties
funzione passando l'handle dell'elemento padre del controllo nel parametro hWndParent . In questo caso, i valori dei parametri lpMsg e lpRect vengono ignorati.
COleControl::OnQueryHitPoint
Chiamato dal framework in risposta alla richiesta di IViewObjectEx::QueryHitPoint
un contenitore.
virtual BOOL OnQueryHitPoint(
DWORD dwAspect,
LPCRECT pRectBounds,
POINT ptlLoc,
LONG lCloseHint,
DWORD* pHitResult);
Parametri
dwAspect
Specifica il modo in cui viene rappresentato l'oggetto. I valori validi vengono ricavati dall'enumerazione DVASPECT o DVASPECT2.
pRectBounds
Puntatore a una RECT
struttura che specifica il rettangolo di delimitazione dell'area client del controllo OLE.
ptlLoc
Puntatore alla POINT
struttura che specifica il punto da controllare per un hit. Il punto viene specificato nelle coordinate dell'area client OLE.
lCloseHint
Distanza che definisce "close" al punto controllato per un riscontro.
pHitResult
Puntatore al risultato della query di hit. Uno dei valori seguenti:
HITRESULT_OUTSIDE ptlLoc si trova all'esterno dell'oggetto OLE e non è chiuso.
HITRESULT_TRANSPARENT ptlLoc si trova all'interno dei limiti dell'oggetto OLE, ma non vicino all'immagine. Ad esempio, un punto al centro di un cerchio trasparente potrebbe essere HITRESULT_TRANSPARENT.
HITRESULT_CLOSE ptlLoc si trova all'interno o all'esterno dell'oggetto OLE, ma abbastanza vicino all'oggetto da considerare all'interno. Gli oggetti piccoli, sottili o dettagliati possono usare questo valore. Anche se un punto si trova all'esterno del rettangolo di delimitazione di un oggetto, potrebbe essere ancora vicino (questo è necessario per colpire oggetti di piccole dimensioni).
HITRESULT_HIT ptlLoc si trova all'interno dell'immagine dell'oggetto .
Valore restituito
Diverso da zero se viene restituito correttamente un risultato di hit; in caso contrario, 0. Un hit è una sovrapposizione con l'area di visualizzazione del controllo OLE.
Osservazioni:
Esegue una query se il rettangolo di visualizzazione di un oggetto si sovrappone al punto specificato (raggiunge il punto). QueryHitPoint
può essere sottoposto a override per testare i riscontri per oggetti non rettangolari.
COleControl::OnQueryHitRect
Chiamato dal framework in risposta alla richiesta di IViewObjectEx::QueryHitRect
un contenitore.
virtual BOOL OnQueryHitRect(
DWORD dwAspect,
LPCRECT pRectBounds,
LPCRECT prcLoc,
LONG lCloseHint,
DWORD* pHitResult);
Parametri
dwAspect
Specifica la modalità con cui l'oggetto deve essere rappresentato. I valori validi vengono ricavati dall'enumerazione DVASPECT o DVASPECT2.
pRectBounds
Puntatore a una RECT
struttura che specifica il rettangolo di delimitazione dell'area client del controllo OLE.
prcLoc
Puntatore alla RECT
struttura che specifica il rettangolo da controllare per un hit (sovrapposizione con il rettangolo dell'oggetto), rispetto all'angolo superiore sinistro dell'oggetto.
lCloseHint
Non utilizzato.
pHitResult
Puntatore al risultato della query di hit. Uno dei valori seguenti:
HITRESULT_OUTSIDE nessun punto nel rettangolo viene raggiunto dall'oggetto OLE.
HITRESULT_HIT almeno un punto nel rettangolo sarebbe un colpo sull'oggetto.
Valore restituito
Diverso da zero se viene restituito correttamente un risultato di hit; in caso contrario, 0.
Osservazioni:
Esegue una query se il rettangolo di visualizzazione di un oggetto si sovrappone a qualsiasi punto del rettangolo specificato (raggiunge il rettangolo). QueryHitRect
può essere sottoposto a override per testare i riscontri per oggetti non rettangolari.
COleControl::OnRenderData
Chiamato dal framework per recuperare i dati nel formato specificato.
virtual BOOL OnRenderData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium);
Parametri
lpFormatEtc
Punta alla struttura FORMATETC specificando il formato in cui vengono richieste le informazioni.
lpStgMedium
Punta a una struttura STGMEDIUM in cui devono essere restituiti i dati.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Il formato specificato è uno inserito in precedenza nell'oggetto controllo utilizzando le funzioni membro DelayRenderData o DelayRenderFileData per il rendering ritardato. L'implementazione predefinita di questa funzione chiama OnRenderFileData
rispettivamente o OnRenderGlobalData
, se il supporto di archiviazione fornito è un file o una memoria. Se il formato richiesto è CF_METAFILEPICT o il formato del set di proprietà persistente, l'implementazione predefinita esegue il rendering dei dati appropriati e restituisce un valore diverso da zero. In caso contrario, restituisce 0 e non esegue alcuna operazione.
Se lpStgMedium-tymed> è TYMED_NULL, stGMEDIUM deve essere allocato e compilato come specificato da lpFormatEtc-tymed>. Se non TYMED_NULL, stGMEDIUM deve essere compilato con i dati.
Eseguire l'override di questa funzione per fornire i dati nel formato e nel supporto richiesti. A seconda dei dati, è possibile eseguire l'override di una delle altre versioni di questa funzione. Se i dati sono di dimensioni ridotte e fisse, eseguire l'override di OnRenderGlobalData
. Se i dati si trovano in un file o sono di dimensioni variabili, eseguire l'override OnRenderFileData
di .
Per altre informazioni, vedere le FORMATETC
strutture e STGMEDIUM
in Windows SDK.
COleControl::OnRenderFileData
Chiamato dal framework per recuperare i dati nel formato specificato quando il supporto di archiviazione è un file.
virtual BOOL OnRenderFileData(
LPFORMATETC lpFormatEtc,
CFile* pFile);
Parametri
lpFormatEtc
Punta alla struttura FORMATETC specificando il formato in cui vengono richieste le informazioni.
pFile
Punta a un oggetto CFile in cui eseguire il rendering dei dati.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Il formato specificato viene inserito in precedenza nell'oggetto controllo utilizzando la funzione membro DelayRenderData per il rendering ritardato. L'implementazione predefinita di questa funzione restituisce semplicemente FALSE.
Eseguire l'override di questa funzione per fornire i dati nel formato e nel supporto richiesti. A seconda dei dati, potrebbe essere necessario eseguire l'override di una delle altre versioni di questa funzione. Se si desidera gestire più supporti di archiviazione, eseguire l'override OnRenderData
di . Se i dati si trovano in un file o sono di dimensioni variabili, eseguire l'override OnRenderFileData
di .
Per altre informazioni, vedere la FORMATETC
struttura in Windows SDK.
COleControl::OnRenderGlobalData
Chiamato dal framework per recuperare i dati nel formato specificato quando il supporto di archiviazione specificato è memoria globale.
virtual BOOL OnRenderGlobalData(
LPFORMATETC lpFormatEtc,
HGLOBAL* phGlobal);
Parametri
lpFormatEtc
Punta alla struttura FORMATETC specificando il formato in cui vengono richieste le informazioni.
phGlobal
Punta a un handle alla memoria globale in cui devono essere restituiti i dati. Se non è stata allocata alcuna memoria, questo parametro può essere NULL.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Il formato specificato viene inserito in precedenza nell'oggetto controllo utilizzando la funzione membro DelayRenderData per il rendering ritardato. L'implementazione predefinita di questa funzione restituisce semplicemente FALSE.
Se phGlobal è NULL, deve essere allocato un nuovo HGLOBAL e restituito in phGlobal. In caso contrario, l'oggetto HGLOBAL specificato da phGlobal deve essere compilato con i dati. La quantità di dati inseriti in HGLOBAL non deve superare le dimensioni correnti del blocco di memoria. Inoltre, il blocco non può essere riallocato a una dimensione maggiore.
Eseguire l'override di questa funzione per fornire i dati nel formato e nel supporto richiesti. A seconda dei dati, è possibile eseguire l'override di una delle altre versioni di questa funzione. Se si desidera gestire più supporti di archiviazione, eseguire l'override OnRenderData
di . Se i dati si trovano in un file o sono di dimensioni variabili, eseguire l'override OnRenderFileData
di .
Per altre informazioni, vedere la FORMATETC
struttura in Windows SDK.
COleControl::OnResetState
Chiamato dal framework quando le proprietà del controllo devono essere impostate sui valori predefiniti.
virtual void OnResetState();
Osservazioni:
L'implementazione predefinita chiama DoPropExchange, passando un CPropExchange
oggetto che determina l'impostazione delle proprietà sui valori predefiniti.
Il writer di controlli può inserire il codice di inizializzazione per il controllo OLE in questo override. Questa funzione viene chiamata quando viene chiamato IPersistStream::Load o IPersistStorage::Load o IPersistStreamInit::InitNew o IPersistStorage::InitNew , senza prima chiamare IPersistStream::Load
o IPersistStorage::Load
.
COleControl::OnSetClientSite
Chiamato dal framework quando il contenitore ha chiamato la funzione del IOleControl::SetClientSite
controllo.
virtual void OnSetClientSite();
Osservazioni:
Per impostazione predefinita, OnSetClientSite
controlla se le proprietà del percorso dati vengono caricate e, se sono, chiama DoDataPathPropExchange
.
Eseguire l'override di questa funzione per eseguire qualsiasi elaborazione speciale di questa notifica. In particolare, gli override di questa funzione devono chiamare la classe base.
COleControl::OnSetData
Chiamato dal framework per sostituire i dati del controllo con i dati specificati.
virtual BOOL OnSetData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium,
BOOL bRelease);
Parametri
lpFormatEtc
Puntatore a una struttura FORMATETC che specifica il formato dei dati.
lpStgMedium
Puntatore a una struttura STGMEDIUM in cui risiedono i dati.
bRelease
TRUE se il controllo deve liberare il supporto di archiviazione; FALSE se il controllo non deve liberare il supporto di archiviazione.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Se i dati sono nel formato del set di proprietà persistente, l'implementazione predefinita modifica lo stato del controllo di conseguenza. In caso contrario, l'implementazione predefinita non esegue alcuna operazione. Se bRelease è TRUE, viene eseguita una chiamata a ReleaseStgMedium
; in caso contrario, no.
Eseguire l'override di questa funzione per sostituire i dati del controllo con i dati specificati.
Per altre informazioni, vedere le FORMATETC
strutture e STGMEDIUM
in Windows SDK.
COleControl::OnSetExtent
Chiamato dal framework quando è necessario modificare l'extent del controllo, in seguito a una chiamata a IOleObject::SetExtent.
virtual BOOL OnSetExtent(LPSIZEL lpSizeL);
Parametri
lpSizeL
Puntatore alla SIZEL
struttura che utilizza interi lunghi per rappresentare la larghezza e l'altezza del controllo, espressa in unità HIMETRIC.
Valore restituito
Diverso da zero se la modifica delle dimensioni è stata accettata; in caso contrario, 0.
Osservazioni:
L'implementazione predefinita gestisce il ridimensionamento dell'extent del controllo. Se il controllo è attivo sul posto, viene eseguita una chiamata al contenitore OnPosRectChanged
.
Eseguire l'override di questa funzione per modificare il ridimensionamento predefinito del controllo.
COleControl::OnSetObjectRects
Chiamato dal framework per implementare una chiamata a IOleInPlaceObject::SetObjectRects.
virtual BOOL OnSetObjectRects(
LPCRECT lpRectPos,
LPCRECT lpRectClip);
Parametri
lpRectPos
Puntatore a una RECT
struttura che indica la nuova posizione e le dimensioni del controllo rispetto al contenitore.
lpRectClip
Puntatore a una RECT
struttura che indica un'area rettangolare a cui deve essere ritagliato il controllo.
Valore restituito
Diverso da zero se il riposizionamento è stato accettato; in caso contrario, 0.
Osservazioni:
L'implementazione predefinita gestisce automaticamente il riposizionamento e il ridimensionamento della finestra di controllo e restituisce TRUE.
Eseguire l'override di questa funzione per modificare il comportamento predefinito di questa funzione.
COleControl::OnShowToolBars
Chiamato dal framework quando il controllo è stato attivato dall'interfaccia utente.
virtual void OnShowToolBars();
Osservazioni:
L'implementazione predefinita non esegue alcuna operazione.
COleControl::OnTextChanged
Chiamato dal framework quando il valore della proprietà Titolo azionario o Testo è stato modificato.
virtual void OnTextChanged();
Osservazioni:
L'implementazione predefinita chiama InvalidateControl
.
Eseguire l'override di questa funzione se si desidera inviare una notifica dopo la modifica di questa proprietà.
COleControl::OnWindowlessMessage
Chiamato dal framework in risposta alla richiesta di IOleInPlaceObjectWindowless::OnWindowMessage
un contenitore.
virtual BOOL OnWindowlessMessage(
UINT msg,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult);
Parametri
msg
Identificatore del messaggio passato da Windows.
wParam
Come passato da Windows. Specifica informazioni aggiuntive specifiche del messaggio. Il contenuto di questo parametro dipende dal valore del parametro msg .
lParam
Come passato da Windows. Specifica informazioni aggiuntive specifiche del messaggio. Il contenuto di questo parametro dipende dal valore del parametro msg .
plResult
Codice del risultato di Windows. Specifica il risultato dell'elaborazione del messaggio e dipende dal messaggio inviato.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Elabora i messaggi della finestra per i controlli senza finestra. COleControl
's OnWindowlessMessage
deve essere usato per i messaggi di finestra diversi da messaggi del mouse e messaggi da tastiera. COleControl
fornisce SetCapture e SetFocus in modo specifico per ottenere l'acquisizione del mouse e lo stato attivo della tastiera per oggetti OLE senza finestra.
Poiché gli oggetti senza finestra non dispongono di una finestra, è necessario un meccanismo per consentire al contenitore di inviare messaggi. Un oggetto OLE senza finestra ottiene i messaggi dal contenitore tramite il OnWindowMessage
metodo sull'interfaccia IOleInPlaceObjectWindowless
(estensione di IOleInPlaceObject per il supporto senza finestra). OnWindowMessage
non accetta un HWND
parametro.
COleControl::P arentToClient
Converte le coordinate di pPoint in coordinate client.
virtual UINT ParentToClient(
LPCRECT lprcBounds,
LPPOINT pPoint,
BOOL bHitTest = FALSE) const;
Parametri
lprcBounds
Puntatore ai limiti del controllo OLE all'interno del contenitore. Non l'area client, ma l'area dell'intero controllo, inclusi i bordi e le barre di scorrimento.
pPoint
Puntatore al punto padre (contenitore) da convertire nelle coordinate dell'area client del controllo.
bHitTest
Specifica se eseguire o meno il hit testing sul punto.
Valore restituito
Se bHitTest è FALSE, restituisce HTNOWHERE. Se bHitTest è TRUE, restituisce la posizione in cui il punto padre (contenitore) è atterrato nell'area client del controllo OLE ed è uno dei valori di hit test del mouse seguenti:
HTBORDER Nel bordo di una finestra che non ha un bordo di ridimensionamento.
HTBOTTOM Nel bordo orizzontale inferiore della finestra.
HTBOTTOMLEFT Nell'angolo inferiore sinistro del bordo della finestra.
HTBOTTOMRIGHT Nell'angolo inferiore destro del bordo della finestra.
HTCAPTION In un'area della barra del titolo.
HTCLIENT In un'area client.
HTERROR Sullo sfondo dello schermo o su una linea di divisione tra finestre (uguale a HTNOWHERE, ad eccezione del fatto che la
DefWndProc
funzione Windows produce un segnale acustico di sistema per indicare un errore).HTGROWBOX In una scatola di dimensioni.
HTHSCROLL Nella barra di scorrimento orizzontale.
HTLEFT Nel bordo sinistro della finestra.
HTMAXBUTTON In un pulsante Ingrandisci.
HTMENU In un'area di menu.
HTMINBUTTON In un pulsante Riduci a icona.
HTNOWHERE Sullo sfondo dello schermo o su una linea di divisione tra finestre.
HTREDUCE in un pulsante Riduci a icona.
HTRIGHT Nel bordo destro della finestra.
HTSIZE In una scatola di dimensioni (uguale a HTGROWBOX).
HTSYSMENU In un menu Di controllo o in un pulsante Chiudi in una finestra figlio.
HTTOP Nel bordo orizzontale superiore della finestra.
HTTOPLEFT Nell'angolo superiore sinistro del bordo della finestra.
HTTOPRIGHT Nell'angolo superiore destro del bordo della finestra.
HTTRANSPARENT In una finestra attualmente coperta da un'altra finestra.
HTVSCROLL Nella barra di scorrimento verticale.
HTZOOM In un pulsante Ingrandisci.
Osservazioni:
In pPoint di input è relativo all'origine dell'elemento padre (angolo superiore sinistro del contenitore). In pPoint di output è relativo all'origine dell'area client del controllo OLE (angolo superiore sinistro dell'area client del controllo).
COleControl::P ostModalDialog
Notifica al contenitore che una finestra di dialogo modale è stata chiusa.
void PostModalDialog(HWND hWndParent = NULL);
Parametri
hWndParent
Handle nella finestra padre della finestra di dialogo modale.
Osservazioni:
Chiamare questa funzione dopo aver visualizzato qualsiasi finestra di dialogo modale. È necessario chiamare questa funzione in modo che il contenitore possa abilitare qualsiasi finestra di primo livello disabilitata da PreModalDialog
. Questa funzione deve essere associata a una chiamata a PreModalDialog
.
COleControl::P reModalDialog
Notifica al contenitore che una finestra di dialogo modale sta per essere visualizzata.
void PreModalDialog(HWND hWndParent = NULL);
Parametri
hWndParent
Handle nella finestra padre della finestra di dialogo modale.
Osservazioni:
Chiamare questa funzione prima di visualizzare qualsiasi finestra di dialogo modale. È necessario chiamare questa funzione in modo che il contenitore possa disabilitare tutte le finestre di primo livello. Dopo aver visualizzato la finestra di dialogo modale, è necessario chiamare PostModalDialog
.
COleControl::RecreateControlWindow
Elimina e ricrea la finestra del controllo.
void RecreateControlWindow();
Osservazioni:
Questo potrebbe essere necessario se è necessario modificare i bit di stile della finestra.
COleControl::Refresh
Forza un aggiornamento del controllo OLE.
void Refresh();
Osservazioni:
Questa funzione è supportata dalla COleControl
classe base come metodo stock, denominato Refresh. In questo modo gli utenti del controllo OLE possono aggiornare il controllo in un momento specifico. Per altre informazioni su questo metodo, vedere l'articolo Controlli ActiveX: Metodi.
COleControl::ReleaseCapture
Rilascia l'acquisizione del mouse.
BOOL ReleaseCapture();
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Se il controllo dispone attualmente dell'acquisizione del mouse, l'acquisizione viene rilasciata. In caso contrario, questa funzione non ha alcun effetto.
COleControl::ReleaseDC
Rilascia il contesto del dispositivo di visualizzazione di un contenitore di un controllo senza finestra, liberando il contesto di dispositivo da usare da altre applicazioni.
int ReleaseDC(CDC* pDC);
Parametri
pDC
Identifica il contesto del dispositivo contenitore da rilasciare.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
L'applicazione deve chiamare ReleaseDC
per ogni chiamata a GetDC.
COleControl::ReparentControlWindow
Imposta l'elemento padre del controllo.
virtual void ReparentControlWindow(
HWND hWndOuter,
HWND hWndParent);
Parametri
hWndOuter
Handle della finestra di controllo.
hWndParent
Handle della nuova finestra padre.
Osservazioni:
Chiamare questa funzione per reimpostare l'elemento padre della finestra di controllo.
COleControl::ResetStockProps
Inizializza lo stato delle COleControl
proprietà azionarie sui valori predefiniti.
void ResetStockProps();
Osservazioni:
Le proprietà sono: Appearance, BackColor, BorderStyle, Caption, Enabled, Font, ForeColor, hWnd e Text. Per una descrizione delle proprietà delle scorte, vedere Controlli ActiveX: Aggiunta di proprietà azionarie.
È possibile migliorare le prestazioni di inizializzazione binaria di un controllo usando ResetStockProps
e ResetVersion
per eseguire l'override COleControl::OnResetState
di . Vedi l'esempio seguente. Per altre informazioni sull'ottimizzazione dell'inizializzazione, vedere Controlli ActiveX: Ottimizzazione.
Esempio
void CMyAxCtrl::OnResetState()
{
ResetVersion(MAKELONG(_wVerMinor, _wVerMajor));
ResetStockProps();
// initialize custom properties here
}
COleControl::ResetVersion
Inizializza il numero di versione sul valore specificato.
void ResetVersion(DWORD dwVersionDefault);
Parametri
dwVersionDefault
Numero di versione da assegnare al controllo.
Osservazioni:
È possibile migliorare le prestazioni di inizializzazione binaria di un controllo usando ResetVersion
e ResetStockProps
per eseguire l'override COleControl::OnResetState
di . Vedere l'esempio in ResetStockProps. Per altre informazioni sull'ottimizzazione dell'inizializzazione, vedere Controlli ActiveX: Ottimizzazione.
COleControl::ScrollWindow
Consente a un oggetto OLE senza finestra di scorrere un'area all'interno dell'immagine attiva sul posto sullo schermo.
void ScrollWindow(
int xAmount,
int yAmount,
LPCRECT lpRect = NULL,
LPCRECT lpClipRect = NULL);
Parametri
xAmount
Specifica la quantità, in unità di dispositivo, dello scorrimento orizzontale. Questo parametro deve essere un valore negativo per scorrere verso sinistra.
yAmount
Specifica la quantità, in unità dispositivo, dello scorrimento verticale. Questo parametro deve essere un valore negativo per scorrere verso l'alto.
lpRect
Punta a un oggetto CRect o a una struttura RECT che specifica la parte dell'area client dell'oggetto OLE da scorrere, nelle coordinate client della finestra contenitore. Se lpRect è NULL, viene eseguito lo scorrimento dell'intera area client dell'oggetto OLE.
lpClipRect
Punta a un oggetto o RECT
a una CRect
struttura che specifica il rettangolo da ritagliare. Vengono scorrere solo i pixel all'interno del rettangolo. I bit esterni al rettangolo non sono interessati anche se si trovano nel rettangolo lpRect . Se lpClipRect è NULL, non viene eseguito alcun ritaglio sul rettangolo di scorrimento.
COleControl::SelectFontObject
Seleziona un tipo di carattere in un contesto di dispositivo.
CFont* SelectFontObject(
CDC* pDC,
CFontHolder& fontHolder);
Parametri
pDC
Puntatore a un oggetto contesto di dispositivo.
FontHolder
Riferimento all'oggetto CFontHolder che rappresenta il tipo di carattere da selezionare.
Valore restituito
Puntatore al tipo di carattere selezionato in precedenza. Al termine di tutte le operazioni di disegno che utilizzano fontHolder, il chiamante deve selezionare nuovamente il tipo di carattere selezionato in precedenza passandolo come parametro a CDC::SelectObject.
COleControl::SelectStockFont
Seleziona la proprietà Font stock in un contesto di dispositivo.
CFont* SelectStockFont(CDC* pDC);
Parametri
pDC
Contesto del dispositivo in cui verrà selezionato il tipo di carattere.
Valore restituito
Puntatore all'oggetto selezionato CFont
in precedenza. Al termine, è consigliabile usare CDC::SelectObject per selezionare di nuovo questo tipo di carattere nel contesto del dispositivo.
COleControl::SerializeExtent
Serializza o inizializza lo stato dello spazio di visualizzazione allocato al controllo.
void SerializeExtent(CArchive& ar);
Parametri
Ar
Oggetto CArchive
da serializzare da o verso.
Osservazioni:
È possibile migliorare le prestazioni di persistenza binaria di un controllo usando SerializeExtent
, SerializeStockProps
e SerializeVersion
per eseguire l'override COleControl::Serialize
di . Vedi l'esempio seguente. Per altre informazioni sull'ottimizzazione dell'inizializzazione, vedere Controlli ActiveX: Ottimizzazione.
Esempio
void CMyAxCtrl::Serialize(CArchive &ar)
{
SerializeVersion(ar, MAKELONG(_wVerMinor, _wVerMajor));
SerializeExtent(ar);
SerializeStockProps(ar);
if (ar.IsStoring())
{ // storing code
}
else
{ // loading code
}
}
COleControl::SerializeStockProps
Serializza o inizializza lo stato delle COleControl
proprietà predefinite: Aspetto, BackColor, BorderStyle, Caption, Enabled, Font, ForeColor e Text.
void SerializeStockProps(CArchive& ar);
Parametri
Ar
Oggetto CArchive
da serializzare da o verso.
Osservazioni:
Per una descrizione delle proprietà delle scorte, vedere Controlli ActiveX: Aggiunta di proprietà azionarie.
È possibile migliorare le prestazioni di persistenza binaria di un controllo usando SerializeStockProps
, SerializeExtent
e SerializeVersion
per eseguire l'override COleControl::Serialize
di . Per un esempio, vedere il codice in SerializeExtent. Per altre informazioni sull'ottimizzazione dell'inizializzazione, vedere Controlli ActiveX: Ottimizzazione.
COleControl::SerializeVersion
Serializza o inizializza lo stato delle informazioni sulla versione di un controllo.
DWORD SerializeVersion(
CArchive& ar,
DWORD dwVersionDefault,
BOOL bConvert = TRUE);
Parametri
Ar
Oggetto CArchive
da serializzare da o verso.
dwVersionDefault
Numero di versione corrente del controllo.
bConvert
Indica se i dati persistenti devono essere convertiti nel formato più recente quando vengono salvati o mantenuti nello stesso formato in cui erano stati caricati.
Valore restituito
Numero di versione del controllo. Se l'archivio specificato viene caricato, SerializeVersion
restituisce la versione caricata dall'archivio. In caso contrario, restituisce la versione attualmente caricata.
Osservazioni:
È possibile migliorare le prestazioni di persistenza binaria di un controllo usando SerializeVersion
, SerializeExtent
e SerializeStockProps
per eseguire l'override COleControl::Serialize
di . Per un esempio, vedere il codice in SerializeExtent. Per altre informazioni sull'ottimizzazione dell'inizializzazione, vedere Controlli ActiveX: Ottimizzazione.
COleControl::SetAppearance
Imposta il valore della proprietà Aspetto azionario del controllo.
void SetAppearance (short sAppearance);
Parametri
sAppearance
Valore short
(VT_I2) da utilizzare per l'aspetto del controllo. Un valore pari a zero imposta l'aspetto del controllo su flat e il valore 1 imposta l'aspetto del controllo su 3D.
Osservazioni:
Per altre informazioni sulle proprietà azionarie, vedere Controlli ActiveX: Proprietà.
COleControl::SetBackColor
Imposta il valore della proprietà BackColor azionario del controllo.
void SetBackColor(OLE_COLOR dwBackColor);
Parametri
dwBackColor
Valore OLE_COLOR da utilizzare per il disegno di sfondo del controllo.
Osservazioni:
Per altre informazioni sull'uso di questa proprietà e altre proprietà correlate, vedere l'articolo Controlli ActiveX: Proprietà.
COleControl::SetBorderStyle
Imposta il valore della proprietà BorderStyle stock del controllo.
void SetBorderStyle(short sBorderStyle);
Parametri
sBorderStyle
Nuovo stile del bordo per il controllo; 0 indica che nessun bordo e 1 indica un bordo normale.
Osservazioni:
La finestra di controllo verrà quindi ricreata e OnBorderStyleChanged
chiamata.
COleControl::SetCapture
Fa sì che la finestra del contenitore del controllo acquisisca il possesso dell'acquisizione del mouse per conto del controllo.
CWnd* SetCapture();
Valore restituito
Puntatore all'oggetto finestra che in precedenza ha ricevuto l'input CWnd
del mouse.
Osservazioni:
Se il controllo è attivato e senza finestra, questa funzione fa sì che la finestra del contenitore del controllo acquisisca il possesso dell'acquisizione del mouse per conto del controllo. In caso contrario, questa funzione fa sì che il controllo stesso acquisisca il possesso dell'acquisizione del mouse (uguale a CWnd::SetCapture
).
COleControl::SetControlSize
Imposta le dimensioni della finestra di controllo OLE e notifica al contenitore che il sito di controllo sta cambiando.
BOOL SetControlSize(int cx, int cy);
Parametri
cx
Specifica la nuova larghezza del controllo in pixel.
Cy
Specifica la nuova altezza del controllo in pixel.
Valore restituito
Diverso da zero se la chiamata ha avuto esito positivo; in caso contrario, 0.
Osservazioni:
Questa funzione non deve essere usata nel costruttore del controllo.
Si noti che tutte le coordinate per le finestre di controllo sono relative all'angolo superiore sinistro del controllo.
COleControl::SetEnabled
Imposta il valore della proprietà Enabled azionario del controllo.
void SetEnabled(BOOL bEnabled);
Parametri
bEnabled
TRUE se il controllo deve essere abilitato; in caso contrario FALSE.
Osservazioni:
Dopo aver impostato questa proprietà, OnEnabledChange
viene chiamato .
COleControl::SetFocus
Fa sì che la finestra del contenitore del controllo assuma il possesso dello stato attivo dell'input per conto del controllo.
CWnd* SetFocus();
Valore restituito
Puntatore all'oggetto CWnd
finestra che in precedenza aveva lo stato attivo per l'input o NULL se tale finestra non è presente.
Osservazioni:
Se il controllo è attivato e senza finestra, questa funzione fa sì che la finestra del contenitore del controllo assuma il possesso dello stato attivo dell'input, per conto del controllo. Lo stato attivo di input indirizza l'input della tastiera alla finestra del contenitore e il contenitore invia tutti i messaggi di tastiera successivi all'oggetto OLE che chiama SetFocus
. Qualsiasi finestra che in precedenza aveva lo stato attivo per l'input lo perde.
Se il controllo non è senza finestra, questa funzione fa sì che il controllo stesso assuma il possesso dello stato attivo di input (uguale CWnd::SetFocus
a ).
COleControl::SetFont
Imposta la proprietà Stock Font del controllo.
void SetFont(LPFONTDISP pFontDisp);
Parametri
pFontDisp
Puntatore a un'interfaccia dispatch font.
COleControl::SetForeColor
Imposta il valore della proprietà ForeColor azionario del controllo.
void SetForeColor(OLE_COLOR dwForeColor);
Parametri
dwForeColor
Valore OLE_COLOR da utilizzare per il disegno in primo piano del controllo.
Osservazioni:
Per altre informazioni sull'uso di questa proprietà e altre proprietà correlate, vedere l'articolo Controlli ActiveX: Proprietà.
COleControl::SetInitialDataFormats
Chiamato dal framework per inizializzare l'elenco dei formati di dati supportati dal controllo .
virtual void SetInitialDataFormats();
Osservazioni:
L'implementazione predefinita specifica due formati: CF_METAFILEPICT e il set di proprietà persistenti.
COleControl::SetInitialSize
Imposta le dimensioni di un controllo OLE quando viene visualizzato per la prima volta in un contenitore.
void SetInitialSize(
int cx,
int cy);
Parametri
cx
Larghezza iniziale del controllo OLE in pixel.
Cy
Altezza iniziale del controllo OLE in pixel.
Osservazioni:
Chiamare questa funzione nel costruttore per impostare le dimensioni iniziali del controllo. Le dimensioni iniziali sono misurate in unità di dispositivo o pixel. È consigliabile effettuare questa chiamata nel costruttore del controllo.
COleControl::SetModifiedFlag
Modifica lo stato modificato di un controllo.
void SetModifiedFlag(BOOL bModified = TRUE);
Parametri
bModified
Nuovo valore per il flag modificato del controllo. TRUE indica che lo stato del controllo è stato modificato; FALSE indica che lo stato del controllo è stato appena salvato.
Osservazioni:
Chiamare questa funzione ogni volta che si verifica una modifica che influisce sullo stato permanente del controllo. Ad esempio, se il valore di una proprietà persistente cambia, chiamare questa funzione con bModified TRUE.
COleControl::SetNotPermitted
Indica che una richiesta di modifica non è riuscita.
void SetNotPermitted();
Osservazioni:
Chiamare questa funzione in caso BoundPropertyRequestEdit
di errore. Questa funzione genera un'eccezione di tipo COleDispScodeException
per indicare che l'operazione set non è consentita.
COleControl::SetNotSupported
Impedisce la modifica del valore della proprietà di un controllo da parte dell'utente.
void SetNotSupported();
Osservazioni:
Chiamare questa funzione al posto della funzione Set di qualsiasi proprietà in cui la modifica del valore della proprietà da parte dell'utente del controllo non è supportata. Un esempio è una proprietà di sola lettura.
COleControl::SetRectInContainer
Imposta le coordinate del rettangolo del controllo rispetto al contenitore, espresso in unità dispositivo.
BOOL SetRectInContainer(LPCRECT lpRect);
Parametri
lpRect
Puntatore a un rettangolo contenente le nuove coordinate del controllo rispetto al contenitore.
Valore restituito
Diverso da zero se la chiamata ha avuto esito positivo; in caso contrario, 0.
Osservazioni:
Se il controllo è aperto, viene ridimensionato; in caso contrario viene chiamata la funzione del OnPosRectChanged
contenitore.
COleControl::SetText
Imposta il valore della proprietà Titolo azionario o Testo del controllo.
void SetText(LPCTSTR pszText);
Parametri
pszText
Puntatore a una stringa di caratteri.
Osservazioni:
Si noti che le proprietà Titolo e Testo sono entrambe mappate allo stesso valore. Ciò significa che tutte le modifiche apportate a entrambe le proprietà cambieranno automaticamente entrambe le proprietà. In generale, un controllo deve supportare la proprietà Titolo azionario o Testo, ma non entrambi.
COleControl::ThrowError
Segnala l'occorrenza di un errore nel controllo.
void ThrowError(
SCODE sc,
UINT nDescriptionID,
UINT nHelpID = -1);
void ThrowError(
SCODE sc,
LPCTSTR pszDescription = NULL,
UINT nHelpID = 0);
Parametri
Sc
Valore del codice di stato da segnalare. Per un elenco completo dei codici possibili, vedere l'articolo Controlli ActiveX: Argomenti avanzati.
nDescriptionID
ID risorsa stringa dell'eccezione da segnalare.
nHelpID
ID della Guida dell'argomento da segnalare.
pszDescription
Stringa contenente una spiegazione dell'eccezione da segnalare.
Osservazioni:
Questa funzione deve essere chiamata solo dall'interno di una funzione Get o Set per una proprietà OLE o dall'implementazione di un metodo di automazione OLE. Se è necessario segnalare errori che si verificano in altri momenti, è necessario attivare l'evento stock Error.
COleControl::TransformCoords
Trasforma i valori delle coordinate tra le unità HIMETRIC e le unità native del contenitore.
void TransformCoords(
POINTL* lpptlHimetric,
POINTF* lpptfContainer,
DWORD flags);
Parametri
lpptlHimetric
Puntatore a una POINTL
struttura contenente le coordinate in unità HIMETRIC.
lpptfContainer
Puntatore a una POINTF
struttura contenente le coordinate nelle dimensioni dell'unità del contenitore.
flags
Combinazione dei valori seguenti:
XFORMCOORDS_POSITION Una posizione nel contenitore.
XFORMCOORDS_SIZE Dimensione A nel contenitore.
XFORMCOORDS_HIMETRICTOCONTAINER trasformare le unità HIMETRIC nelle unità del contenitore.
XFORMCOORDS_CONTAINERTOHIMETRIC Trasformare le unità del contenitore in unità HIMETRIC.
Osservazioni:
I primi due flag, XFORMCOORDS_POSITION e XFORMCOORDS_SIZE, indicano se le coordinate devono essere considerate come una posizione o una dimensione. I due flag rimanenti indicano la direzione della trasformazione.
COleControl::TranslateColor
Converte un valore di colore dal tipo di dati OLE_COLOR al tipo di dati COLORREF .
COLORREF TranslateColor(
OLE_COLOR clrColor,
HPALETTE hpal = NULL);
Parametri
clrColor
Tipo di dati OLE_COLOR. Per altre informazioni, vedere la funzione Windows OleTranslateColor .
hpal
Handle per una tavolozza facoltativa; può essere NULL.
Valore restituito
Valore di colore RGB (rosso, verde, blu) a 32 bit che definisce il colore a tinta unita più vicino al valore clrColor che il dispositivo può rappresentare.
Osservazioni:
Questa funzione è utile per convertire le proprietà Stock ForeColor e BackColor in tipi COLORREF usati dalle funzioni membro CDC .
COleControl::WillAmbientsBeValidDuringLoad
Determina se il controllo deve utilizzare i valori delle proprietà di ambiente come valori predefiniti, quando viene successivamente caricato dallo stato permanente.
BOOL WillAmbientsBeValidDuringLoad();
Valore restituito
Diverso da zero indica che le proprietà di ambiente saranno valide; in caso contrario, le proprietà di ambiente non saranno valide.
Osservazioni:
In alcuni contenitori il controllo potrebbe non avere accesso alle relative proprietà di ambiente durante la chiamata iniziale all'override di COleControl::DoPropExchange
. Questo è il caso se il contenitore chiama IPersistStreamInit::Load o IPersistStorage::Load prima di chiamare IOleObject::SetClientSite,ovvero se non rispetta il bit di stato OLEMISC_SETCLIENTSITEFIRST.
COleControl::WindowProc
Fornisce una routine di Windows per un COleControl
oggetto .
virtual LRESULT WindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parametri
message
Specifica il messaggio di Windows da elaborare.
wParam
Fornisce informazioni aggiuntive utilizzate per l'elaborazione del messaggio. Il valore del parametro dipende dal messaggio.
lParam
Fornisce informazioni aggiuntive utilizzate per l'elaborazione del messaggio. Il valore del parametro dipende dal messaggio.
Valore restituito
Valore restituito del messaggio inviato.
Osservazioni:
Chiamare questa funzione per inviare messaggi specifici tramite la mappa dei messaggi del controllo.
Vedi anche
Esempio MFC CIRC3
Testhelp di esempio MFC
Classe COlePropertyPage
Classe CWnd
Grafico della gerarchia
Classe CFontHolder
Classe CPictureHolder