enumerazione DVASPECT2 (ocidl.h)
Specifica nuovi aspetti di disegno usati per ottimizzare il processo di disegno.
Sintassi
typedef enum tagDVASPECT2 {
DVASPECT_OPAQUE = 16,
DVASPECT_TRANSPARENT = 32
} DVASPECT2;
Costanti
DVASPECT_OPAQUE Valore: 16 Rappresenta le parti opache e facili da ritagliare di un oggetto. Gli oggetti possono o non supportare questo aspetto. |
DVASPECT_TRANSPARENT Valore: 32 Rappresenta le parti trasparenti o irregolari dell'oggetto, in genere parti costose o impossibili da ritagliare. Gli oggetti possono o non supportare questo aspetto. |
Commenti
Per supportare le ottimizzazioni di disegno per ridurre il flicker, un oggetto deve essere in grado di disegnare e restituire informazioni su tre aspetti separati di se stesso.
Aspetto | Descrizione |
---|---|
DVASPECT_CONTENT | Specifica l'intero contenuto di un oggetto. Tutti gli oggetti devono supportare questo aspetto. |
DVASPECT_OPAQUE | Rappresenta le parti opache e facili da ritagliare di un oggetto. Gli oggetti possono o non supportare questo aspetto. |
DVASPECT_TRANSPARENT | Rappresenta le parti trasparenti o irregolari dell'oggetto, in genere parti costose o impossibili da ritagliare. Gli oggetti possono o non supportare questo aspetto. |
Il contenitore può determinare quale di questi aspetti di disegno supporta un oggetto chiamando il nuovo metodo IViewObjectEx::GetViewStatus. I singoli bit restituiscono informazioni sugli aspetti supportati. Se un oggetto non supporta l'interfaccia IViewObjectEx , si presuppone che supporti solo DVASPECT_CONTENT.
A seconda di quali aspetti sono supportati, il contenitore può chiedere all'oggetto di disegnare se stesso durante il passaggio front-to-back solo, il retro al passaggio anteriore o entrambi. I vari casi possibili sono:
- Gli oggetti che supportano solo DVASPECT_CONTENT devono essere disegnati durante il passaggio indietro al passaggio anteriore, con tutte le parti opache di qualsiasi oggetto sovrapposto ritagliato fuori. Poiché tutti gli oggetti devono supportare questo aspetto, un contenitore non è preoccupato per la flickering , forse perché è disegno in una bitmap offscreen, può scegliere di disegnare tutti gli oggetti in questo modo e ignorare il passaggio indietro anteriore.
- Gli oggetti che supportano DVASPECT_OPAQUE possono essere richiesti per disegnare questo aspetto durante il passaggio anteriore. Il contenitore è responsabile del ritaglio delle aree opache dell'oggetto prima di disegnare qualsiasi altro oggetto dietro di esso.
- Gli oggetti che supportano DVASPECT_TRANSPARENT possono essere richiesti per disegnare questo aspetto durante il passaggio anteriore. Il contenitore è responsabile del ritaglio di parti opache di oggetti sovrapposti prima di consentire a un oggetto di disegnare questo aspetto.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | ocidl.h |