Contenitori: stati Client-Item

Questo articolo illustra i diversi stati che un elemento client passa attraverso la sua durata.

Un elemento client passa attraverso diversi stati durante la creazione, l'attivazione, la modifica e il salvataggio. Ogni volta che lo stato dell'elemento cambia, il framework chiama COleClientItem::OnChange con la notifica di OLE_CHANGED_STATE . Il secondo parametro è un valore dell'enumerazione COleClientItem::ItemState . I possibili valori sono i seguenti:

  • COleClientItem::emptyState

  • COleClientItem::loadedState

  • COleClientItem::openState

  • COleClientItem::activeState

  • COleClientItem::activeUIState

Nello stato vuoto, un elemento client non è ancora completamente un elemento. La memoria è stata allocata, ma non è ancora stata inizializzata con i dati dell'elemento OLE. Questo è lo stato in cui si trova un elemento client quando è stato creato tramite una chiamata a new ma non ha ancora subito il secondo passaggio della tipica creazione in due passaggi.

Nel secondo passaggio, eseguito tramite una chiamata a COleClientItem::CreateFromFile o un'altra CreateFromfunzione xxxx , l'elemento viene creato completamente. I dati OLE (da un file o da un'altra origine, ad esempio gli Appunti) sono stati associati all'oggetto COleClientItemderivato da . Ora l'elemento è nello stato caricato.

Quando un elemento è stato aperto nella finestra del server anziché aperto nel documento del contenitore, si trova nello stato aperto (o completamente aperto). In questo stato, in genere viene disegnato un tratteggio incrociato sulla rappresentazione dell'elemento nella finestra del contenitore per indicare che l'elemento è attivo altrove.

Quando un elemento è stato attivato sul posto, passa, in genere solo brevemente, attraverso lo stato attivo. Entra quindi nello stato attivo dell'interfaccia utente, in cui il server ha unito i relativi menu, barre degli strumenti e altri componenti dell'interfaccia utente con quelli del contenitore. La presenza di questi componenti dell'interfaccia utente distingue lo stato attivo dell'interfaccia utente dallo stato attivo. In caso contrario, lo stato attivo è simile allo stato attivo dell'interfaccia utente. Se il server supporta Annulla, è necessario che il server mantenga le informazioni sullo stato di annullamento dell'elemento OLE fino a quando non raggiunge lo stato caricato o aperto.

Vedi anche

Contenitori
Attivazione
Contenitori: notifiche elementi client
Tracker
Classe CRectTracker