Delen via


Gebeurtenis blokkeren

Een container kan een besturingselement waarschuwen dat het niet gereed is om te reageren op gebeurtenissen door IOleControl::FreezeEvents aan te roepen met TRUE-. Het kan de blokkering van de gebeurtenissen opheffen door FreezeEvents aan te roepen met FALSE-. Wanneer een container gebeurtenissen blokkeert, wordt de verwerking van gebeurtenissen geblokkeerd en wordt er geen gebeurtenis ontvangen; Dat wil gezegd, een container kan nog steeds gebeurtenissen ontvangen terwijl gebeurtenissen worden geblokkeerd. Als een container een gebeurtenismelding ontvangt terwijl de gebeurtenissen zijn geblokkeerd, moet de container de gebeurtenis negeren. Er is geen andere actie nodig.

Een besturingselement moet rekening houden met de aanroep van een container om te FreezeEvents met TRUE als het belangrijk is voor het besturingselement dat een gebeurtenis niet wordt gemist. Hoewel de gebeurtenisverwerking van een container is geblokkeerd, moet een besturingselement een van de volgende technieken implementeren:

  • Open de gebeurtenissen in de volledige kennis dat de container geen actie onderneemt.
  • Verwijder alle gebeurtenissen die het besturingselement zou hebben geactiveerd.
  • Zet alle in behandeling zijnde gebeurtenissen in de wachtrij en open ze nadat de container FreezeEvents met FALSE-heeft aangeroepen.
  • Plaats alleen relevante of belangrijke gebeurtenissen in de wachtrij en open ze nadat de container FreezeEvents met FALSEheeft aangeroepen.

Elke techniek is aanvaardbaar en geschikt in verschillende omstandigheden. De besturingselementontwikkelaar is verantwoordelijk voor het bepalen en implementeren van de juiste techniek voor de functionaliteit van het besturingselement.