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 CreateFrom
funkcji 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