Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kontener może powiadomić kontrolkę, że nie jest gotowa reagować na zdarzenia, wywołując IOleControl::FreezeEvents za pomocą TRUE. Może ona odblokować zdarzenia, wywołując FreezeEvents za pomocą FALSE. Gdy kontener zawiesza zdarzenia, jest zamrażanie przetwarzania zdarzeń, a nie odbieranie zdarzeń; oznacza to, że kontener może nadal odbierać zdarzenia, gdy zdarzenia są zamrożone. Jeśli kontener odbiera powiadomienie o zdarzeniu, gdy jego zdarzenia są zamrożone, kontener powinien zignorować zdarzenie. Żadna inna akcja nie jest odpowiednia.
Kontrolka powinna zanotować wywołanie kontenera w celu freezeEvents z true, jeśli ważne jest, aby kontrolować, że zdarzenie nie zostało pominięte. Podczas gdy przetwarzanie zdarzeń kontenera jest zamrożone, kontrolka powinna zaimplementować jedną z następujących technik:
- Uruchom zdarzenia w pełnej wiedzy, że kontener nie podejmie żadnych działań.
- Odrzuć wszystkie zdarzenia, które zostałyby wyzwolone przez kontrolkę.
- W kolejce wszystkie oczekujące zdarzenia i uruchom je po wywołaniu kontenera FreezeEvents za pomocą FALSE.
- Umieszczaj w kolejce tylko istotne lub ważne zdarzenia i uruchamiaj je po wywołaniu FreezeEvents za pomocą FALSE.
Każda technika jest akceptowalna i odpowiednia w różnych okolicznościach. Deweloper kontroli jest odpowiedzialny za określenie i zaimplementowanie odpowiedniej techniki dla funkcji kontrolki.