Udostępnij za pośrednictwem


Kontenery: stany elementu klienckiego

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ą COleClientItem::ItemState z wyliczenia. 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 przy użyciu danych 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 wykonywane za pomocą wywołania lub COleClientItem::CreateFromFile innej CreateFromfunkcji xxxx 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 cofnij, serwer musi zachować informacje o stanie cofania elementu OLE, dopóki nie osiągnie załadowanego lub otwartego stanu.

Zobacz też

Kontenery
Aktywacja
Kontenery: powiadomienia dotyczące elementów klienckich
Trackery
Klasa CRectTracker