Udostępnij za pośrednictwem


Kontenery: stany Client-Item

W tym artykule wyjaśniono różne stany, przez które przechodzi element klienta w okresie jego istnienia.

Element klienta przechodzi przez kilka stanów podczas jego tworzenia, aktywowania, modyfikowania i zapisywania. Za każdym razem, gdy stan elementu zmienia się, struktura wywołuje COleClientItem::OnChange z powiadomieniem OLE_CHANGED_STATE . Drugi parametr jest wartością z wyliczenia COleClientItem::ItemState. Może to być jedna z następujących opcji:

  • COleClientItem::emptyState

  • COleClientItem::loadedState

  • COleClientItem::openState

  • COleClientItem::activeState

  • COleClientItem::activeUIState

W stanie pustym element klienta nie jest jeszcze całkowicie elementem. Pamięć została przydzielona, ale nie została jeszcze zainicjowana danymi elementu OLE. Jest to stan, w jakim znajduje się element klienta, gdy został utworzony za pomocą wywołania metody , new ale nie przeszedł jeszcze drugiego kroku typowego tworzenia dwuetapowego.

W drugim kroku, wykonywanym poprzez wywołanie COleClientItem::CreateFromFile lub innej funkcji CreateFromxxxx, element jest całkowicie tworzony. Dane OLE (z pliku lub innego źródła, takie jak Schowek) zostały skojarzone z obiektem pochodnym COleClientItem. Teraz element jest w stanie załadowania.

Po otwarciu elementu w oknie serwera, a nie otwarciu go w dokumencie kontenera, jest on w stanie otwartym (lub w pełni otwartym). W tym stanie cross-hatch jest zwykle rysowany na reprezentację elementu w oknie kontenera, aby wskazać, że element jest aktywny w innym miejscu.

Gdy element został aktywowany, przechodzi, zwykle tylko krótko, przez aktywny stan. Następnie wprowadza aktywny stan interfejsu użytkownika, w którym serwer scalił swoje menu, paski narzędzi i inne składniki interfejsu użytkownika z składnikami kontenera. Obecność tych składników interfejsu użytkownika odróżnia aktywny stan interfejsu użytkownika od stanu aktywnego. W przeciwnym razie stan aktywny przypomina stan aktywny interfejsu użytkownika. Jeśli serwer obsługuje operację cofania, musi zachować informacje dotyczące stanu cofania elementu OLE, do momentu, kiedy osiągnie stan załadowany lub otwarty.

Zobacz także

Pojemniki
aktywacja
Kontenery: powiadomienia Client-Item
Trackerów
Klasa CRectTracker